私はPythonでフラッシュカードのクイズチャレンジをしようとしています。これには、州とその都道府県をテキストファイルから取ることが含まれます。私はキーを使って辞書を作成するために、分割して分割することができました。Pythonファイルのランダムな選択が機能しない
しかし、毎回私は内のランダムな選択を使用するが、私は、forループの外にそれを取るとき、それは、一方で最後のキー(例えばワイオミング州)を出力ループのために、それが唯一の最初のキーを出力する(例えばアラバマ州)
ここでが
import random
with open("state_capitals.txt","r") as f:
for line in f:
cleanedLine = line.strip().split(',')
state = cleanedLine[0]
capital = cleanedLine[1]
d = {}
d[state] = capital
while len(d)>0:
choice = random.choice(list(d.keys()))
print("What is the capital city of",choice,"?")
answer=input("Answer: ")
ファイル内のすべての行について、辞書をゼロから再作成しないでください。空の辞書を作成し、*各行に項目を追加します。 –
ありがとう、私はそれを試したと思う(forループからwhileループを取る) – Corb691
ありがとう、私はこのコードで混乱に自分自身を持っているように聞こえます。私は最初から始め、より効率的なソリューションを作り出そうとします。 – Corb691