身近にpythonを始めたけどよくわからない!!という人がいたので簡単なおみくじコードを書かせた時の話。
pythonはいろんな書き方ができるので、書き方に宗教チックな物を感じますね。そこでとりあえず理解しやすそうな3種類のコードを紹介します!
#分岐構文の場合
まずは、入門中の入門から!分岐構文です!
import random
num = random.randint(0,60)
if num < 2:
print("大吉")
elif 2 <= num < 10:
print("中吉")
elif 10 <= num < 20:
print("小吉")
elif 20 <= num < 40:
print("吉")
elif 40 <= num < 50:
print("末吉")
elif 50 <= num < 55:
print("凶")
elif 55 <= num < 58:
print("中凶")
else:
print("大凶")
まずnum = random.randint(0,60)
で乱数を生成し、変数num
に格納します。その数値がマッチする条件式のif文
の中身が実行されることで、おみくじを成立させています。
それぞれの結果の確率を変えたい場合は、条件式の値を変更するだけで大丈夫です!
#配列(リスト)を用いた場合
内包表記を存分に使用していますが、条件式や出力したい値を綺麗に並べて書くことができるので、できればチャレンジしてみるといいです!
import random
omikuzi = [
"大吉" if i < 2 else
"中吉" if 2 <= i < 10 else
"小吉" if 10 <= i < 20 else
"吉" if 20 <= i < 40 else
"末吉" if 40 <= i < 50 else
"凶" if 50 <= i < 55 else
"中凶" if 55 <= i < 59 else
"大凶" for i in range(61)]
print(omikuzi[random.randrange(len(omikuzi))])
#乱数生成の一手間を省きたい時
pythonには生成した配列(リスト)の中から1つをランダムに取り出す関数が用意されているようです!用意されているなら使うしかないですね!
import random
omikuzi = [
"大吉" if i < 2 else
"中吉" if 2 <= i < 10 else
"小吉" if 10 <= i < 20 else
"吉" if 20 <= i < 40 else
"末吉" if 40 <= i < 50 else
"凶" if 50 <= i < 55 else
"中凶" if 55 <= i < 59 else
"大凶" for i in range(61)]
print(random.choice(omikuzi))
さらに簡単に書くことができました!
#ちょっとした雑談
今回はpythonの入門としておみくじを行うコードを紹介してみました。特に内包表記や乱数などは、コーディングを続けて行くなら必須な知識なので、ぜひ押さえておきましょう!
#参考にした記事
pythonの内包表記を少し詳しく