今回やること
複数の問題を順番に出すクイズゲームを作ります。
今回は動作確認しやすいように、回答もプログラム内に用意します。
完成コード
quiz_game.py を作ります。
questions = [
{"question": "Pythonの拡張子は?", "answer": ".py", "user_answer": ".py"},
{"question": "リストを作る記号は?", "answer": "[]", "user_answer": "[]"},
{"question": "関数を作るキーワードは?", "answer": "def", "user_answer": "def"},
]
score = 0
for item in questions:
print(item["question"])
if item["user_answer"] == item["answer"]:
print("正解")
score += 1
else:
print("不正解")
print("----------")
print(f"結果: {score}/{len(questions)}問正解")
動作確認
python quiz_game.py
結果: 3/3問正解 と表示されれば成功です。
コードの考え方
- 1問分の情報は辞書で表します
- 問題一覧はリストにします
- 正解なら
score += 1で点数を増やします len(questions)で問題数を表示します
よくあるエラー
| エラー | 原因 | 修正 |
|---|---|---|
KeyError | キー名が違う | question, answer を確認 |
| 点数が増えない | score += 1 がない | 正解時に加算する |
| 全部不正解 | 文字列が一致していない | 空白や大文字小文字を確認 |
練習
- 問題を5問に増やす
- 1問だけ不正解にして動きを見る
input()を使う形に変える
次のステップ
点数をもとに判定する処理は Pythonミニ制作:成績判定ツール に進みます。