【なんとなく知ってるAI用語〈Python超初心者㉓〉】if文 × random
今回は 「if文 × random」 を紹介します。
🔎 if文とは?
if は 「もし〜なら」 という意味です。
プログラムに「条件によって処理を変える」力を与えます。
書き方はシンプルです。
if 条件:
処理
else:
別の処理
if → もしこの条件が成り立つなら、こっちの処理をする
else → それ以外なら、別の処理をする
🎲 サイコロゲームを作ろう
random でサイコロを振り、その数字が「偶数か奇数か」で勝敗を決めます。
import random
dice = random.randint(1, 6) # 1〜6のランダムな整数
if dice % 2 == 0: # 偶数なら
print("勝ち!")
else: # 奇数なら
print("負け!")random.randint(1, 6) → サイコロを1回振るイメージ
dice % 2 == 0 → 数字が偶数かどうかをチェック
偶数なら「勝ち!」、奇数なら「負け!」
📌 ここでのポイント
if は「もし〜なら」を書く
else は「それ以外」を書く
条件には「==」「%」などの比較・計算を使うことができる
% は割り算のあまりを求める演算子です。
サイコロの目を2で割ってあまりが0なら「偶数」、そうでなければ「奇数」と判断できるんです。
🤖 AIとif文 × random
AIの仕組みはとても複雑ですが、根っこには「条件分岐」と「確率」があります。
人間の判断を細かく分け、そこにランダム性を加えることで、より自然に近い振る舞いを実現しているんです。
サイコロゲームのような小さなプログラムでも、AIの基本に通じています。
✅ 今日のまとめ
if文は「条件分岐」
randomは「偶然を作る」
組み合わせるとゲームのような仕組みが作れる
練習問題
1. おみくじゲーム 🌸
コンピューターに「大吉」「吉」「凶」の中から1つを選んでもらい、それを表示するプログラムです。
問題:
random.randint() を使って、1から3までのランダムな整数を生成します。
もし整数が 1 なら「大吉」、2 なら「吉」、3 なら「凶」と表示するプログラムを書いてみましょう。
import random
omikuji = random.randint(1, 3)
if omikuji == 1:
print("大吉!")
elif omikuji == 2:
print("吉!")
else:
print("凶!")ポイント:
elif は else if の略で、最初の if 文の条件が満たされなかった場合に、次の条件をチェックします。
最後の else は、if と elif のどの条件にも当てはまらなかった場合、つまり omikuji が 3 の場合に実行されます。
2. じゃんけんゲーム ✊
あなたとコンピューターでじゃんけんをするプログラムです。
問題:
あなたは「グー(1)」「チョキ(2)」「パー(3)」のどれかを入力します。
コンピューターは random.randint() で1から3までのランダムな数字を選びます。
あなたの出した手とコンピューターの出した手を比較し、「勝ち」「負け」「あいこ」のどれかを表示しましょう。
import random
cpu_hand = random.randint(1, 3)
my_hand = int(input("あなたの手を選んでください: グー(1), チョキ(2), パー(3) -> "))
if my_hand == cpu_hand:
print("あいこ!")
elif (my_hand == 1 and cpu_hand == 2) or\
(my_hand == 2 and cpu_hand == 3) or\
(my_hand == 3 and cpu_hand == 1):
print("あなたの勝ち!")
else:
print("あなたの負け!")ポイント:
input() 関数は、入力された内容を文字列として扱います。比較のために整数に変換する必要があるため、int() を使っています。
or や and を使って複数の条件を組み合わせることで、複雑な勝敗判定を一つの if 文でまとめています。
いいなと思ったら応援しよう!
よろしければ応援お願いします!いただいたチップはクリエイターとしての活動に使わせていただきます。
