Pythonで4択クイズを作成する方法は、プログラミングの基礎を学ぶうえで非常に実践的で楽しい題材です。
ここでは、基本的なテキストベースの4択クイズを作成する方法を、構造的・段階的に詳しく解説していきます。
目次
クイズの設計:何が必要か
まず、クイズに必要な要素を整理しましょう。
要素 | 内容 |
---|---|
質問文 | クイズの本文(例:「Pythonの開発者は誰?」) |
選択肢 | 4つの選択肢(A〜Dなど) |
正解 | 選択肢の中の正しい答え |
ユーザー入力 | ユーザーがA〜Dなどで答えるインタフェース |
スコア管理 | 正解数をカウントしてスコアを出す |
基本構造のコード例
データの構造化(リスト+辞書)
quiz = [
{
"question": "Pythonの開発者は誰?",
"choices": ["A. グイド・ヴァンロッサム", "B. ジェームズ・ゴスリン", "C. ビル・ゲイツ", "D. ラリー・ペイジ"],
"answer": "A"
},
{
"question": "Pythonでリストの長さを取得する関数は?",
"choices": ["A. length()", "B. size()", "C. len()", "D. count()"],
"answer": "C"
}
# さらに追加可能
]
ユーザー入力のループとスコア表示
score = 0
for index, q in enumerate(quiz, 1):
print(f"\nQ{index}: {q['question']}")
for choice in q["choices"]:
print(choice)
user_input = input("答えをA〜Dで入力してください: ").strip().upper()
if user_input == q["answer"]:
print("正解!")
score += 1
else:
print(f"不正解!正解は {q['answer']} です。")
print(f"\nあなたのスコアは {score}/{len(quiz)} でした。")
コード全体のまとめ
quiz = [
{
"question": "Pythonの開発者は誰?",
"choices": ["A. グイド・ヴァンロッサム", "B. ジェームズ・ゴスリン", "C. ビル・ゲイツ", "D. ラリー・ペイジ"],
"answer": "A"
},
{
"question": "Pythonでリストの長さを取得する関数は?",
"choices": ["A. length()", "B. size()", "C. len()", "D. count()"],
"answer": "C"
}
]
score = 0
for index, q in enumerate(quiz, 1):
print(f"\nQ{index}: {q['question']}")
for choice in q["choices"]:
print(choice)
user_input = input("答えをA〜Dで入力してください: ").strip().upper()
if user_input == q["answer"]:
print("正解!")
score += 1
else:
print(f"不正解!正解は {q['answer']} です。")
print(f"\nあなたのスコアは {score}/{len(quiz)} でした。")
発展的な機能の追加アイデア
さらに学習を深めたい場合、以下のような機能を追加できます。
機能 | 内容 |
---|---|
シャッフル機能 | 質問や選択肢をランダムに並べ替え |
制限時間 | time モジュールを使って制限時間を追加 |
ファイル保存 | スコアや結果をCSVやテキストに保存 |
GUI化 | tkinter やPySimpleGUI を使ってウィンドウ形式にする |
正答率表示 | 正解率(パーセンテージ)を表示する |
学びを深めるための次のステップ
- クラスで構造化:クイズデータをクラスで管理してOOPを学ぶ
- 外部ファイルから読み込む:JSONやCSVからクイズデータを読み込む
- Web版に挑戦:FlaskやDjangoでWebアプリとして提供
- データベース接続:SQLiteなどと接続してクイズ問題を保存・管理
まとめ

Pythonで4択クイズを作ることで、以下のようなスキルが身につきます。
- 辞書とリストの使い方
- ユーザーからの入力処理
- 条件分岐(if文)
- ループ処理(for文)
- データ構造の設計
クイズは単なる娯楽だけでなく、実践的なプログラミング演習として最適です。
まずは基本のコンソールアプリを作ってから、GUI化やWeb化へ進んでみるのもおすすめです。
以上、Pythonで4択クイズを作成する方法についてでした。
最後までお読みいただき、ありがとうございました。