所以,我一直坚持分离多个循环。 第一个循环运行良好。还有第二个。但不是最后两个。当我尝试键入DNA或蛋白质时,它只给出一个答案:重启?是\N
我的代码:
while True:
A = (input())
if A == ("Start"):
print ("What type of the data you want to process?")
print ("DNA", "RNA", "Protein", sep="\n")
break
else:
print ("Incorrect input")
continue
break
while True:
X = (input())
if X == ("RNA"):
print ("What you want to do with RNA?", "RNA to DNA? RNA to Protein? seqRNA length?", sep="\n?")
continue
break
else:
print("Restart?", "Y \ N", sep="\n")
continue
break
while True:
Y = (input())
if Y == ("DNA"):
print ("What you want to do with DNA?", "DNA to RNA? seqDNA length?", sep="\n")
continue
break
else:
print("Anything else?", "Yes No", sep="\n")
continue
break
while True:
Z = (input())
if Z == ("Protein"):
print ("What you want to do with Protein?", "Protein to RNA? protein Name?", sep="\n")
continue
break
else:
print("Anything else?", "Yes No", sep="\n")
continue
break
我已经尝试删除其中一个周期并尝试运行它,但结果是一样的。我搜索了使用break、while和if的示例,但只找到了一个循环的答案,而不是多个循环的答案。我觉得这很令人失望,因为我想这样做是为了更好地理解python。不仅仅是使用BioPython图书馆。但具有讽刺意味的是,仅仅是转录、反转录、翻译、翻译成RNA或序列长度计算的过程并不是一个大问题。这一切只需要一行代码
我已经清理并重新构造了您的代码。这是你想要的吗
问题在于,一旦通过了开始条件和rna/dna/蛋白质条件,continue语句就会出现问题
我只测试了RNA,但我在打印后删除了continue语句,它似乎起作用了
你们打算继续在那里工作吗
此外,使用这么多while-true循环并依靠break-and-continue并不是真正的最佳实践idt。我会在最上面使用A作为输入,你的条件可能是“A不在[“RNA”,“DNA”,“蛋白质”]或类似的东西,这样它会不断循环并请求输入,直到通过正确的输入
最后,我会将每个输入转换为大写或小写(以及您的条件检查),这样您就可以避免基于大小写问题的输入错误
相关问题 更多 >
编程相关推荐