【Python】じゃんけんゲーム作成(2)3回勝負のじゃんけんゲームにする
2021/02/21
3回勝負のじゃんけんゲームにする
Pythonでじゃんけんゲームを作る、2回目です。
while文を使って3回勝負と改造してみます。
目標
- while文を使用して3回勝負とする
コード2(janken2.py)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
import random hands = ['グー', 'チョキ', 'パー'] judge = ['あいこ', '負け', '勝ち'] win = 0 draw = 0 count = 0 #ゲーム開始 print("=== ジャンケンしようぜ! ===") print('ルール:入力できる値は 0:グー、1:チョキ、2:パーです') print('じゃんけん・・・') #for cnt in range(0,3): while count < 3: #player player = int(input('>>>')) if player == 0 or player == 1 or player == 2: print('あなた:' + hands[player]) #computer computer = random.randint(0,2) print('コンピュータ:' + hands[computer]) #勝敗(0:あいこ / 1:プレイヤの負け / 2:プレイヤの勝ち) decision = (player - computer + 3) % 3 if decision == 0: draw += 1 elif decision == 2: win += 1 #結果の表示 print("『" + judge[decision]+"』\n") count += 1 else: #入力エラー print('0~2を数値入力してください') #3回勝負の結果 print("===========================") print('3回勝負の結果は' + str(win) + "勝" + str(draw) + "分けです") print("===========================\n") |
コード2解説
主に、コード1に追加したものを解説します。
結果として表示する勝ち・あいこ用の変数を定義。また3回勝負とするので、カウント用の変数も定義します。
1 2 3 |
win = 0 draw = 0 count = 0 |
while文で、3回勝負の形をとってみます。
1 |
while count < 3: |
勝負の結果を変数に代入。
1 2 3 4 |
if decision == 0: draw += 1 elif decision == 2: win += 1 |
結果表示後にカウントを+1します。
1 |
count += 1 |
実行
↑ 一応、3回勝負の体をなしていますが、「あいこ」となった場合も1回とカウントされ、純粋に3回の入力で終了してしまいます。個人的に知っているジャンケンとは若干ルールが異なるものと実装されてしまった形ですね。
あと、文字列を入力した場合は相変わらず例外エラーで止まる仕様のままです。
第2回はここまで。