pythonで簡単なジャンケンゲームをプロゲートで学び実践してみたのですが、
不正な数値の入力除去がうまくいきません。
実行したいこと:
0〜2までの数値以外が入力された時に「入力された数字が正しくありません。0〜2の整数を入力してください」を表示したい。
検証したこと:validate関数に0〜2の数値を入れてみたところきちんとTrue、それ以外の場合はFalseが返ってくる。
お力添えよろしくお願いいたします。
import random def print_hand(hand): hands = ['グー','チョキ','パー'] player_hand_name = hands[hand] return player_hand_name def validate(hand): if hand < 0 or hand > 2: return False else: return True def judge(player,computer): if player == computer: return '引き分けです' elif player == 'グー' and computer == 'チョキ': return player_name + 'さんの勝ちです' elif player == 'チョキ' and computer == 'パー': return player_name + 'さんの勝ちです' elif player == 'パー' and computer == 'グー': return player_name + 'さんの勝ちです' else: return 'コンピューターの勝ちです' player_name = input('あなたのお名前を教えてください:') print(player_name + 'さんこんにちは') player_choose_number = int(input('0〜2までの数字を入力してください。『0:グー 1:チョキ 2:パー』:')) player_hand = print_hand(player_choose_number) print(player_name + 'さんは' + player_hand + 'を出しました') if validate(player_choose_number): computer_choose_number = random.randint(0,2) computer_hand = print_hand(computer_choose_number) print('コンピューターは' + computer_hand + 'を出しました') result = judge(player_hand,computer_hand) print('結果は' + result) else: print('入力された数字が正しくありません。0〜2の整数を入力してください')
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/03 05:15