gpt4 book ai didi

python - 仅在满足 if 条件后运行 for 循环

转载 作者:太空宇宙 更新时间:2023-11-04 02:54:14 26 4
gpt4 key购买 nike

我目前正在尝试制作一个非常简单的测试函数,首先检查用户输入是否是 3 的倍数,然后测试每个单独的字符以查看它们是否是有效字符。下面是我的代码:

def is_dna(string):

string.upper()
if(len(string) % 3 == 0):
print("LENGTH CORRECT")
for n in string:
if(n == "A" or n == "T" or n == "C" or n == "G"):
print("Valid")
else:
print("Invalid character")
break
return True
else:
print("Too many/little characters")
return False

运行时,底部部分将运行良好,如果使用了正确数量的字符,这也将成功打印调试“LENGTH CORRECT”字符串。问题是 for 循环不会初始化,我也不知道为什么。只测试循环表明它工作正常;这个函数有什么问题?

最佳答案

简单修复你只需要将 string.upper() 移动到一个变量中,然后对变量进行操作

固定的代码

def is_dna(stri):
string = stri.upper()
if(len(string) % 3 == 0):
print("LENGTH CORRECT")
for n in string:
if(n == "A" or n == "T" or n == "C" or n == "G"):
print("Valid")
else:
print("Invalid character")
break
return True
else:
print("Too many/little characters")
return False
is_dna("ATCGCTATC") #this works and tests it perfectly

关于python - 仅在满足 if 条件后运行 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42928187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com