title: クイズゲーム description: 複数選択肢のクイズを構築し、プレイヤーのスコアを記録して最終結果を表示します。
クイズゲーム
Orla やあ!航海術の再認定試験が3週間後に迫っていて、本当に復習が必要なんだ。複数選択肢のクイズを作ってもらえる?問題を読み込めるようにしてさ。問題を表示して、A~Dの選択肢を出して、正解かどうか教えて、最後にスコアを表示してくれる。ありがとう!
作るもの
問題 1/5: 日本の首都はどこですか?
a) ソウル
b) 北京
c) 東京
d) バンコク
あなたの答え: c
正解です!
---
5問中4問正解しました。必要な知識
- 辞書 - 各問題は問題文、選択肢、答えを含む辞書にできます
- リスト - すべての問題はループで処理するリストに入ります
- 制御フロー - 問題をループで処理し、正解・不正解で分岐させます
- 関数 - 表示ロジックとスコアリングを分離することで読みやすくなります
- 出力と入力
ヒント
まずデータ構造を考えましょう。 辞書のリストが自然な選択肢です。各辞書は1つの問題を保持します:問題文、答えの選択肢、正解がどれかです。
カウンターでスコアを管理しましょう。 ゼロから始まる整数1つです。答えが正しい場合は1を加えます。最後に表示します。
答えを比較する際の注意。 プレイヤーは文字を入力します。データに保存されている正解の文字と比較します。比較する前に、両方が同じ大文字小文字になっていることを確認してください。
さらに進める
コアのクイズが完成したら:
- 問題をシャッフルする。
random.shuffle()を使って、実行するたびに順序が変わるようにします。 - サマリーを表示する。 最終スコアの後に、プレイヤーが間違えた問題と正解を一覧表示します。
- ハイスコア。 トップスコアをファイルに保存し、実行するたびの開始時に表示します。これはファイルの章が必要です。

