Python で今日の運勢は??randintで星座占い♪

この記事では、

乱数を使って星座を占う

randintで1から12までの乱数を生成する

if、elif、elseの分岐


改行 \n

について学べます。

私は「おうし座」ですので、変数seizaのところに「おうし」と入れました。
ここにあなたの星座やお好きな星座を入れてみて下さい。

まずは、乱数を使った順位の結果のみのコードを掲載いたします。

import random

seiza="おうし"

#1から12までの変数を生成
num=random.randint(1,12)

print("今日の"+seiza+"座は"+str(num)+"位です")

実行結果です。

乱数なので、実行する度に順位が変わります。
最後のprint文のところで、文字列の中で数値である順位のnumを扱う場合には、str(num)としています。

randintと似たようなもので、randrangeがありますが、これはrandom.randrange(1,12)の様に書いた場合には、12「未満」になります。

次に、順位に応じてメッセージを表示する様に、if,elif,elseで分岐を行います。
メッセージは変数msgに格納します。

では、コードです。

import random

seiza="おうし"

#1から12までの変数を生成
num=random.randint(1,12)

print("今日の"+seiza+"座は"+str(num)+"位です")

if num==1:
  msg="超超超超超超超超超・・・おめでとう!!\n"
elif num<=3:
  msg="チョベリグ!\n"
elif num<=9:
  msg="ふつー\n"
elif num==11:
  msg="チョベリブ!\n"
else:
  msg="がび〜〜〜〜〜〜ん\nチョベリバ(涙)\n"

print(msg)

実行結果です。

演算子についてですが、
例えば「num==1」とイコールを2つ書くことによって、その順位(1位)と等しいということを表しています。
=と、一つだけだと代入になりますので。

elif文のnum<=3は3位以下(この場合、2位と3位)を表しています。
elseでそれ以外(この場合12位)です。

msgの中の「\n」バックスラッシュとnで、改行を表しております。

宜しかったら上記のコードをコピペしてアレンジしてみて下さい。


msgの所で「チョベリなんとか・・・」ってありますけれど、かつて「コギャル」と呼ばれた方が女子高生だった頃に流行った言葉です。

チョベリグ・・・超ベリーグッド
チョベリブ・・・超ベリーブルー
チョベリバ・・・超ベリーバッド

だったかな。懐かしいな。


お疲れ様でした。ブレイクタイムPhotoは、

千葉県柏市、あけぼの山農業公園のひまわりです。

ご精読ありがとうございました。

■ 独習Python ■
Kindle版
単行本(ソフトカバー)

Python自作サンプル集へ戻る

写真クリエイターとしての活動
自己紹介

投稿者アバター
nekosiestr
プログラミング学習中のロスジェネ(就職氷河期世代)の発達障害者です。 宜しくお願いします。 趣味で写真を撮っています。 プログラミングは、GAS/HTML/CSS/JavaScript/jQuery/PHP、 発達障害は、自閉症スペクトラムASD/ADHD、その他双極性障害やHSP(5人に1人の繊細さん)などの生きづらさを抱えておりますが、それでも楽しく生きて行きたいです!! 写真は、以前はコンパクトデジカメ、現在は、OLYMPUSミラーレス一眼を使っています。

投稿者: nekosiestr

プログラミング学習中のロスジェネ(就職氷河期世代)の発達障害者です。 宜しくお願いします。 趣味で写真を撮っています。 プログラミングは、GAS/HTML/CSS/JavaScript/jQuery/PHP、 発達障害は、自閉症スペクトラムASD/ADHD、その他双極性障害やHSP(5人に1人の繊細さん)などの生きづらさを抱えておりますが、それでも楽しく生きて行きたいです!! 写真は、以前はコンパクトデジカメ、現在は、OLYMPUSミラーレス一眼を使っています。