入力された文字の補数を取得するために、以下のコードが機能しないのはなぜですか? ループが終わらないように見えますが、たとえば、「Z」を DNA として入力すると、ループが壊れて終了しないのはなぜでしょうか? ブレークを使用しましたか、それとも間違っていましたか? エリフはどう?
デフォルト get_complement (dna):
''' (ch) -> ch
Reverse the 'A' to 'T' or vice versa and 'C' to 'G' and vice versa too.
>>> get_complement('A')
'C'
>>> get_complement('G')
'T'
'''
if dna == 'A':
print ('C')
if dna == 'C':
print ('A')
if dna == 'T':
print ('G')
if dna == 'G' :
print ('T')
while {'A', 'C', 'G', 'T'}.isnotsubset(set(dna)) :
break
return ('')