こんな方におすすめ
- Pythonで簡単なゲームを作りたい
- プログラミングに興味がある
- 子供に九九を覚えさせたい
今日は、Pythonで簡単なかけ算のゲームを作ります。ちょうど小学2年生のうちの子が、かけ算の問題をやっているため作りました。
うちの子はプログラミングをやりたいと言っていたので、プログラムを通して算数を学べて喜んでました。
プログラムで使用しているのは、randomとtimeのモジュールとだけです。とてもシンプルなので、プログラミングの初心者でも簡単に作成できます。
プログラムの内容
プログラムの仕様です。最初に何回連続正解にチャレンジするかを入力します。ランダムに出題される九九のかけ算を、設定した目標回数を連続で正解するまで続きます。目標を達成か途中で間違えたら終了します。
まず必要なモジュールをインポートします。randomモジュールは、九九をランダムに出題するのに使用します。
1 2 |
import random import time |
タイトルを表示し、input関数を用いて、連続正解の目標回数を入力する。入力した文字は、int型に変換する。
1 2 3 4 5 6 7 |
#タイトル print("連続かけざんにチャレンジしよう!") time.sleep(1) #目標回数を入力する。 count=input("何回連続にチャレンジする:") count=int(count) time.sleep(1) |
設定した目標回数だけ、出題を繰り返します。
A , B :ランダム関数で1から9までの整数が入る
目標の連続回数正解するか、途中で間違えるかで、breakによりループを抜けます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#目標回数だけ出題を繰り返す for i in range(1,count+1): A=random.randint(1,9) B=random.randint(1,9) print("問題" + str(A) + "x" + str(B)) time.sleep(1) val=input("答え:") if(int(val)==A*B): print("正解") if(i==count): print("おめでとう" + str(i) + "回連続正解だよ") break else: continue elif(int(val)!=A*B): answer=A*B print("残念!正解は"+ str(answer) ) break |
プログラム実行時の出力内容
3回連続にチャレンジし、成功した時の表示。
1 2 3 4 5 6 7 8 9 10 11 12 |
連続かけざんにチャレンジしよう! 何回連続にチャレンジする:3 問題7x3 答え:21 正解 問題7x6 答え:42 正解 問題9x5 答え:45 正解 おめでとう3回連続正解だよ |
失敗した時の表示。
1 2 3 4 5 |
連続かけざんにチャレンジしよう! 何回連続にチャレンジする:3 問題1x8 答え:7 残念!正解は8 |
まとめ
今回は、pythonで連続かけ算問題を作成しました。近年、プログラム教育が進んでいるインドは、20 x 20までを覚えさせるというので、ランダム関数を20までの整数に変更してトライしてみるのもの面白いと思います。
また、算数だけじゃなく、漢字や社会などの問題もこのプログラムの応用で作れると思います。ぜひ、チャレンジしてみてください。