私は、テキストファイルを辞書に変換して質問するPythonの本の例を複製しようとしました入力機能による翻訳のために。Whileループは辞書の入力に割り当てられた値を与えるのではなく、入力を要求することを繰り返す
私の問題は、このプログラムでは、辞書にある特定の有効な入力の翻訳ができなくなることです。私がwhileループの代わりにif True
を使用する場合、それは行います。私はコードを再配置しようとしましたが、それでも入力を求めて繰り返します。ここで
は、この問題の原因となるコードは次のとおりです。
genetischercode={}
while True:
triplet=input("Geben sie ein basentriplet ein: ")
with open("C:\\Users\\Christian\\Desktop\\Python-Programme\\Genetischer Code.txt","r") as fobj:
for line in fobj:
line=line.strip()
Zuordnung=line.split()
genetischercode[Zuordnung[0]]=Zuordnung[1]
if triplet in genetischercode:
print("Die korrespondierende Aminosäure ist: ",genetischercode[triplet])
else:
print("Bitte geben sie ein gültiges Triplet ein: ")
今の代わりif triplet in genetischer code:
またはelse:
トリガーばかりのそのIST何が起こる、プログラムは変数triplet
のための入力を求めて繰り返されます。
どうすればこの問題を解決できますか?
あなたはインデントを修正してもらえますか?これが何をすべきかを推測するのは難しいです。最初の 'while True'ループは無限ループになりますが、それはあなたがやっていることではないと思います。それともこの問題ですか? – martin
「真」は「真」が「真」である限り継続します。ループは決して終わらないでしょう。すべてのコードを実行するには、このループ内になるようにインデントします。 –
あなたの関心をお寄せいただきありがとうございました。字下げを修正し、コードが正しく動作します:-) –