【Pythonミニゲーム第4回】足し算・引き算・掛け算クイズゲームを作ってみた!

【広告/PR】この記事にはアフィリエイトリンクを含みます。

こんにちは!Web整備士です。

今回は、Pythonミニゲーム第4回です。

前回は、足し算クイズゲームを作りました。

今回はその続きで、足し算・引き算・掛け算がランダムで出るクイズゲームを作ってみます。

前回より、ちょっとだけゲームっぽくなります。

でも、やることはシンプルです。

問題が出る。

答えを入力する。

正解か不正解が出る。

今回も、まずはコピペして「動いた!」を目指します。

今回作るもの

今回作るのは、こんなゲームです。

  • Pythonだけで動く
  • VS Codeとターミナルで遊べる
  • 足し算・引き算・掛け算がランダムで出る
  • 答えを入力すると、正解・不正解が出る
  • 5問遊べて、最後に正解数が出る

前回の足し算ゲームを、少しレベルアップした感じです。

足し算だけで試したい人へ

今回は、足し算・引き算・掛け算がランダムで出るバージョンです。

ただ、いきなり3種類あると「ちょっと待ってくれ」となる人もいると思います。

まずは足し算だけで遊びたい人は、前回の記事から見るのがおすすめです。

👉 【Pythonミニゲーム第3回】足し算クイズゲームを作ってみた!

完成コード

こちらが完成版です。

コピーして、そのまま使ってOKです。

import random

print("計算クイズゲーム!")
print("足し算・引き算・掛け算の問題がランダムで5問出ます。")

# 正解した数を数える
score = 0

# 5回くり返す
for i in range(5):
    # 1から10までの数字をランダムに作る
    num1 = random.randint(1, 10)
    num2 = random.randint(1, 10)

    # 計算の種類をランダムに選ぶ
    operator = random.choice(["+", "-", "*"])

    # 計算の種類によって、正解を作る
    if operator == "+":
        answer = num1 + num2
    elif operator == "-":
        answer = num1 - num2
    else:
        answer = num1 * num2

    # 問題を出す
    print()
    print(f"第{i + 1}問:{num1} {operator} {num2} はいくつ?")

    # プレイヤーに答えを入力してもらう
    user_answer = int(input("答えを入力してね:"))

    # 正解かどうかを判定する
    if user_answer == answer:
        print("正解!")
        score = score + 1
    else:
        print("残念!正解は", answer, "でした。")

# 最後に結果を表示する
print()
print("ゲーム終了!")
print("あなたの正解数は", score, "問です。")

遊び方

VS Codeで、次の名前のファイルを作ります。

math_quiz.py

その中に、完成コードを貼り付けて保存します。

Windowsの場合

VS Codeのターミナルで、次のどちらかを入力します。

python math_quiz.py

もし動かない場合は、こちらも試してみてください。

py math_quiz.py

Macの場合

Macの場合は、次のコマンドで動かします。

python3 math_quiz.py

問題が出たら、答えの数字を入力してEnterを押します。

ポイント

このゲームは、ブログの記事の中で動かすものではありません。

VS Codeとターミナルで動かして遊ぶPythonゲームです。

今回の新しいところ

前回の足し算ゲームと違うところは、ここです。

operator = random.choice(["+", "-", "*"])

このコードで、足し算・引き算・掛け算の中から、どれか1つをランダムに選んでいます。

+ は足し算です。

- は引き算です。

* は掛け算です。

掛け算はこれだけ

Pythonでは、掛け算は * を使います。

たとえば、3 * 4 は「3かける4」という意味です。

まずは「掛け算は * 」だけ覚えればOKです。

計算の種類で答えを変える

ここで、選ばれた計算に合わせて答えを作っています。

if operator == "+":
    answer = num1 + num2
elif operator == "-":
    answer = num1 - num2
else:
    answer = num1 * num2

operator+ なら足し算。

operator- なら引き算。

それ以外なら掛け算です。

こうすると、1つのゲームの中でいろいろな計算問題を出せます。

マイナスの答えが出ることもあります

引き算が出たときは、答えがマイナスになることがあります。

たとえば、こんな問題です。

3 - 8 はいくつ?

この答えは -5 です。

最初は少しびっくりするかもしれません。

でも、Pythonの計算としてはこれでOKです。

ちょっとだけカスタマイズして遊ぶ

このゲームは、少し数字を変えるだけで遊び方を変えられます。

やりたいこと 変える場所
問題数を増やす range(5) range(10)
数字を大きくする randint(1, 10) randint(1, 50)
もっと簡単にする randint(1, 10) randint(1, 5)
問題の種類を足し算だけにする ["+", "-", "*"] ["+"]

まずは、そのまま動けばOKです。

割り算は夜の記事で作ります

今回は、足し算・引き算・掛け算までにしました。

割り算は / を使います。

ただ、Pythonの割り算は 3.0 のように小数っぽく出ることがあります。

それと、% という「あまり」を出す記号もあります。

ここまで一気に入れると、少しややこしくなります。

なので、割り算は夜の記事で分けて作ります。

今回のゴール

まずは、足し算・引き算・掛け算のランダムクイズを動かすことです。

割り算は次のステップでOKです。

プログラミングを基礎から学びたい人へ

今回みたいに、短いコードを少しずつ変えていくと、Pythonの勉強はかなりやりやすくなります。

ただ、独学だと「エラーが出たときに止まる」「何から勉強すればいいかわからない」こともあります。

基礎から教えてもらいたい人は、プログラミングスクールを調べてみるのも一つの方法です。

資格と仕事に強い!個人レッスンのプログラミングスクール【Winスクール】

まとめ

今回は、Pythonで足し算・引き算・掛け算クイズゲームを作りました。

  • random.choice で計算の種類をランダムに選ぶ
  • + で足し算をする
  • - で引き算をする
  • * で掛け算をする
  • if で計算の種類に合わせて答えを作る

前回の足し算ゲームより、少しゲーム感が出ました。

まずはそのまま動かしてみてください。

動いたら成功です。

夜の記事では、割り算クイズゲームを作っていきます。

コメント

このブログの人気の投稿

1つの商品を紹介する記事の形を作りやすくする無料テンプレ

比較記事テンプレ 見た目編|目的に合わせて見やすく整える考え方

サイトやブログのホーム画面の見せ方テンプレ【無料HTML】