【Pythonミニゲーム第4回】足し算・引き算・掛け算クイズゲームを作ってみた!
【広告/PR】この記事にはアフィリエイトリンクを含みます。
こんにちは!Web整備士です。
今回は、Pythonミニゲーム第4回です。
前回は、足し算クイズゲームを作りました。
今回はその続きで、足し算・引き算・掛け算がランダムで出るクイズゲームを作ってみます。
前回より、ちょっとだけゲームっぽくなります。
でも、やることはシンプルです。
問題が出る。
答えを入力する。
正解か不正解が出る。
今回も、まずはコピペして「動いた!」を目指します。
今回作るもの
今回作るのは、こんなゲームです。
- Pythonだけで動く
- VS Codeとターミナルで遊べる
- 足し算・引き算・掛け算がランダムで出る
- 答えを入力すると、正解・不正解が出る
- 5問遊べて、最後に正解数が出る
前回の足し算ゲームを、少しレベルアップした感じです。
足し算だけで試したい人へ
今回は、足し算・引き算・掛け算がランダムで出るバージョンです。
ただ、いきなり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の勉強はかなりやりやすくなります。
ただ、独学だと「エラーが出たときに止まる」「何から勉強すればいいかわからない」こともあります。
基礎から教えてもらいたい人は、プログラミングスクールを調べてみるのも一つの方法です。
まとめ
今回は、Pythonで足し算・引き算・掛け算クイズゲームを作りました。
random.choiceで計算の種類をランダムに選ぶ+で足し算をする-で引き算をする*で掛け算をするifで計算の種類に合わせて答えを作る
前回の足し算ゲームより、少しゲーム感が出ました。
まずはそのまま動かしてみてください。
動いたら成功です。
夜の記事では、割り算クイズゲームを作っていきます。
コメント
コメントを投稿