【はじめてのプログラミング】Pythonでクイズゲームを作ろう!

【はじめてのプログラミング】Pythonでクイズゲームを作ろう! プログラミング

「Pythonで何か面白いものを作ってみたい!」

「ゲームを作ってみたいけど、難しそう…」

そんなあなたにピッタリなのが、「クイズゲーム」づくりです!

今回は、高校生やプログラミング初心者でも作れるシンプルなクイズゲームを、やさしく解説していきます。

実際に動くコードも紹介するので、ぜひマネして作ってみてください!

どんなゲームを作るの?

  • プレイヤーにクイズが出題される
  • 回答を入力する
  • 正解かどうかを判定してスコアを表示!

めちゃくちゃシンプルですが、作りながら「if文」や「リスト」「ループ」など基本的なPythonの考え方も自然に身につきます。

まずは1問だけのクイズを作ってみよう

print("クイズです!")
print("Q. 日本の首都はどこでしょう?")

answer = input("答えを入力してください:")

if answer == "東京":
print("正解!すごい!")
else:
print("残念、不正解。正解は『東京』です。")

💡 ポイント:

  • input() でユーザーの答えを受け取ります。
  • if 文で正解かどうかを判定しています。

複数のクイズを出したいときは?

リストを使って、複数の問題を管理します。

# クイズの問題と答えのセット
quizzes = [
{"question": "日本の首都は?", "answer": "東京"},
{"question": "1 + 1 は?", "answer": "2"},
{"question": "りんごを英語で言うと?", "answer": "apple"}
]

score = 0 # 正解数カウント

for q in quizzes:
print("Q.", q["question"])
user_answer = input("答え:")

if user_answer.lower() == q["answer"].lower(): # 大文字小文字を無視
print("正解!")
score += 1
else:
print(f"不正解!正解は『{q['answer']}』でした。")

print(f"あなたのスコアは {score} / {len(quizzes)} です!")

演習問題にチャレンジ!

問題① クイズの問題数を増やしてみよう(5問以上にする)

解答例:

quizzes = [
{"question": "「忠告、助言」を英語で言うと?", "answer": "advice"},
{"question": "「借りる」を英語で言うと?","answer": "borrow"},
{"question": "「外国の」を英語で言うと?","answer": "foreign"},
{"question": "「ほとんど」を英語で言うと?","answer": "almost"},
{"question": "「成長する」を英語で言うと?","answer": "grow up"},
{"question": "「必要な」を英語で言うと?","answer": "necessary"},
{"question": "「〜を通って」を英語で言うと?","answer": "through"},
{"question": "「決める」を英語で言うと?","answer": "decide"}
]

score = 0

for q in quizzes:
print("Q.", q["question"])
user_answer = input("答え:")
if user_answer.strip().lower() == q["answer"].lower():
print("正解!")
score += 1
else:
print(f"不正解。正解は『{q['answer']}』です。")

print(f"スコア:{score} / {len(quizzes)}")

💡 解説:

  • quizzes リストに5問の辞書(questionとanswerのペア)を入れました。
  • .strip() は前後の空白を削除し、.lower() で大文字小文字を無視して判定しています。
  • for 文で繰り返し出題し、正解数をカウントしています。

問題② 得点によって、最後に「合格」「もう少し!」などの評価メッセージをつけよう

解答例(上記のコードの続きに追加):

# 評価メッセージ
if score == len(quizzes):
print("🌟パーフェクト!すばらしい!")
elif score >= 3:
print("👍合格!よくがんばったね!")
else:
print("😅もう少し!また挑戦してみよう!")

💡 解説:

  • if を使って点数に応じた評価を分岐しています。
  • score == len(quizzes) で満点かどうかをチェック。
  • 条件分岐の順番が大事!具体的な条件から書いていきましょう。

📝 まとめ

クイズゲームは、楽しく作れて、自然にPythonの基本が学べる最高の教材です!

自分だけのオリジナルクイズをどんどん作って、友達や家族にも出題してみましょう!

コメント

タイトルとURLをコピーしました