ゴリラと学ぶ「Pythonで問題生成」
ゴリはいままでに、いろいろな問題をじぶんのおつむ🧠でかんがえてみていたウホ。でも、ゴリのおつむにもとうぜんながら限界はしょうじてしまうウホ。いずれ何も思いつかなくなる時のために、問題をさくせいすることについて機械的にやってもらうことを考えるウホ。
というわけで、今回はPythonでゴリラに関する問題を出力してもらうことをやってみるウホ!
もんだい
ゴリラにかんする問題をPythonで出力してほしいウホ。出力は、とりあえずコンソール(セル)にしてほしいウホ。
つくる問題はてきとうにおまかせするウホ。ゴリなら、ランダムな数値を出させて、数値計算とかの数学系の問題を出そうと考えるウホ。
じゆうなきもちでコードをくんでみてほしいウホ。
🦍🦍🦍🦍🦍🦍🦍🦍🦍🦍🦍🦍
つくったもの
さっそくつくったウホ!直観的で、破壊的で、設計性のないゴリラプログラミングをしていくウホ。とにかく思いついたかんじでばんばん書いていくウホ!
で、つくったのは下の通りウホ。
動作環境: Google colaboratory(2020/03/09 python3 notebook)
import random as てきとう
はじめ = 0
おわり = 5
もんだいリスト = [
"ゴリラが🦍人いたウホ。人間が🍌人いたウホ。あわせて何人ウホ?",
"🍌 = 🦍x + 1で、xについての方程式をとくウホ。",
"一辺が🦍 cmの正方形の面積をこたえるウホ。",
"🦍 + 🍌をけいさんするウホ。",
"ゴリラ🦍人分の体重がどれくらいかこたえるウホ。",
"ゴリラが🦍歳のときの平均身長をこたえるウホ。",
]
for ばんごう in range(はじめ, おわり):
くじびき_1 = てきとう.randint(0, 20)
くじびき_2 = てきとう.randint(0, 20)
print('もんだいばんごう ', ばんごう + 1)
print(もんだいリスト[てきとう.randint(0, 5)].replace('🦍', str(くじびき_1)).replace('🍌', str(くじびき_2)))
print('\n')
うえからざっとせつめいしていくウホ。
まず、もんだいばんごうのはじめとおわりを、はじめ
とおわり
で指定しているウホ。
つぎに、もんだいリスト
をつくっているウホ。このなかでは、あとで数値に置換するためにひとまず🦍と🍌とおいている文章を入れているウホ。なんかもっといいほうほうがあった気がするけど、ゴリラのプログラミングでは動けばオッケーとするウホ。
で、次にfor ばんごう in range(はじめ, おわり):
でループの処理をしているウホ。ループの中では、くじびき_1
とくじびき_2
にてきとうな0から20までの数字をrandint()
でぶちこませて、あとで🦍と🍌を数値にreplace
しているウホ!
そして、上のコードを出力させると、出てくるのは下のようになるウホ。
もんだいばんごう 1
2 = 5x + 1で、xについての方程式をとくウホ。
もんだいばんごう 2
3 + 19をけいさんするウホ。
もんだいばんごう 3
12 + 14をけいさんするウホ。
もんだいばんごう 4
13 = 7x + 1で、xについての方程式をとくウホ。
もんだいばんごう 5
4 = 15x + 1で、xについての方程式をとくウホ。
もちろんやるたびに出力はかわるウホ!つぎのしゅつりょくではこうなったウホ。
もんだいばんごう 1
ゴリラ11人分の体重がどれくらいかこたえるウホ。
もんだいばんごう 2
ゴリラが7人いたウホ。人間が16人いたウホ。あわせて何人ウホ?
もんだいばんごう 3
一辺が15 cmの正方形の面積をこたえるウホ。
もんだいばんごう 4
ゴリラが7歳のときの平均身長をこたえるウホ。
もんだいばんごう 5
20 + 11をけいさんするウホ。
ゴリはたびたびミスするけど、リストやループの番号はPythonだと0はじまりなことに注意しておいてほしいウホ。
こたえ: 上の通り
ゴリラに関する問題を出力できたウホ!これでゴリもすこしは楽できるかも?しれないウホ。
できれば答えも一緒に出力できるとありがたいウホ。これはソルバーに関するライブラリを取り込んでおけば、計算問題に関してはだいじょうぶそうウホ。もっといろいろな問題をだせるようになって、らくちんに問題をつくっていきたいウホ。