じゃんけんをはじめます 名前を入力してください:テストプレイヤー 何を出しますか?(0: グー, 1: チョキ, 2: パー) 数字で入力してください:1.5 正しい数値を入力してください >>> じゃんけんをはじめます 名前を入力してください:テストプレイヤー 何を出しますか?(0: グー, 1: チョキ, 2: パー) 数字で入力してください:テスト 正しい数値を入力してください >>> じゃんけんをはじめます 名前を入力してください:テストプレイヤー 何を出しますか?(0: グー, 1: チョキ, 2: パー) 数字で入力してください:2 テストプレイヤーはパーを出しました コンピューターはグーを出しました 結果は勝ちでした
#coding:utf-8 def validate(hand): if hand == '0' or hand == '1' or hand == '2' : return True else: return False def print_hand(hand, name='ゲスト'): hands = ['グー', 'チョキ', 'パー'] print(name + 'は' + hands[hand] + 'を出しました') def judge(player, computer): if player == computer: return '引き分け' elif player == 0 and computer == 1: return '勝ち' elif player == 1 and computer == 2: return '勝ち' elif player == 2 and computer == 0: return '勝ち' else: return '負け' import random print('じゃんけんをはじめます') player_name = input('名前を入力してください:') print('何を出しますか?(0: グー, 1: チョキ, 2: パー)') player_hand = input('数字で入力してください:') if validate(player_hand): computer_hand = random.randint(0,2) if player_name == '': print_hand(int(player_hand)) else: print_hand(int(player_hand), player_name) print_hand(computer_hand, 'コンピューター') result = judge(int(player_hand), computer_hand) print('結果は' + result + 'でした') else: print('正しい数値を入力してください')
メモ
・じゃんけんの数字を入力する時に、「0」「1」「2」以外の数字をいれた場合エラーになるのを改良しました。
「1.5」などの少数、「テスト」などの文字でもエラーにならないようにしました。
0 件のコメント:
コメントを投稿