じゃんけんをはじめます 名前を入力してください: -------------------------------------------------------------- 何を出しますか?(0: ゲーム終了, 1: グー, 2: チョキ, 3: パー) 数字で入力してください:3 ゲストは 「パー」 を出しました コンピューターは 「チョキ」 を出しました 結果は 「負け」 でした -------------------------------------------------------------- 何を出しますか?(0: ゲーム終了, 1: グー, 2: チョキ, 3: パー) 数字で入力してください:3 ゲストは 「パー」 を出しました コンピューターは 「グー」 を出しました 結果は 「勝ち」 でした -------------------------------------------------------------- 何を出しますか?(0: ゲーム終了, 1: グー, 2: チョキ, 3: パー) 数字で入力してください:2 ゲストは 「チョキ」 を出しました コンピューターは 「グー」 を出しました 結果は 「負け」 でした -------------------------------------------------------------- 何を出しますか?(0: ゲーム終了, 1: グー, 2: チョキ, 3: パー) 数字で入力してください:1 ゲストは 「グー」 を出しました コンピューターは 「パー」 を出しました 結果は 「負け」 でした -------------------------------------------------------------- 何を出しますか?(0: ゲーム終了, 1: グー, 2: チョキ, 3: パー) 数字で入力してください:0 ゲームを終了します
#coding:utf-8
def validate(hand):
if hand == '1' or hand == '2' or hand == '3' :
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('名前を入力してください:')
while True :
print('--------------------------------------------------------------')
print('')
print('何を出しますか?(0: ゲーム終了, 1: グー, 2: チョキ, 3: パー)')
player_hand = input('数字で入力してください:')
print('')
if player_hand == '0':
print('ゲームを終了します')
break
else:
if validate(player_hand):
computer_hand = random.randint(0,2)
if player_name == '':
print_hand(int(player_hand)-1)
else:
print_hand(int(player_hand)-1, player_name)
print_hand(computer_hand, 'コンピューター')
result = judge(int(player_hand)-1, computer_hand)
print('')
print('結果は 「' + result + '」 でした')
print('')
else:
print('正しい数値を入力してください')
メモ
・じゃんけんをするごとに終了していたのを繰り返しできるようにしました。
・「while True:」を使うことで無限ループになるので「break」で終了しています。
・読みにくかったので少し見やすくしました。
0 件のコメント:
コメントを投稿