当我运行程序时,它总是打印为true.例如,如果我输入AAJJ,它将打印为true,因为只检查第一个字母是否为真.有人能指出我正确的方向吗?谢谢!
squence_str = raw_input("Enter either A DNA, Protein or RNA sequence:")
def DnaCheck():
for i in (squence_str):
if string.upper(i) =="A":
return True
elif string.upper(i) == "T":
return True
elif string.upper(i) == "C":
return True
elif string.upper(i) == "G":
return True
else:
return False
print "DNA ", DnaCheck()
Run Code Online (Sandbox Code Playgroud)
您需要检查DNA序列中的所有碱基是否有效.
def DnaCheck(sequence):
return all(base.upper() in ('A', 'C', 'T', 'G') for base in sequence)
Run Code Online (Sandbox Code Playgroud)