プログラムの学習サイト「
Progate」の「Python学習コースⅢ」のじゃんけんゲームを改良したプログラム。
じゃんけんをはじめます
名前を入力してください:テストプレイヤー
何を出しますか?(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」などの少数、「テスト」などの文字でもエラーにならないようにしました。
・入力した文字列をチェックするようにしています。