2019年4月26日金曜日

「Progate」のじゃんけんゲーム 改良その2 

プログラムの学習サイト「Progate」の「Python学習コースⅢ」のじゃんけんゲームを改良したプログラム。

じゃんけんをはじめます
名前を入力してください:
何を出しますか?(1: グー, 2: チョキ, 3: パー)
数字で入力してください:3
ゲストはパーを出しました
コンピューターはグーを出しました
結果は勝ちでした
>>> 

じゃんけんをはじめます
名前を入力してください:test
何を出しますか?(1: グー, 2: チョキ, 3: パー)
数字で入力してください:2.5
正しい数値を入力してください
>>> 

じゃんけんをはじめます
名前を入力してください:test
何を出しますか?(1: グー, 2: チョキ, 3: パー)
数字で入力してください:test
正しい数値を入力してください
>>> 

じゃんけんをはじめます
名前を入力してください:test
何を出しますか?(1: グー, 2: チョキ, 3: パー)
数字で入力してください:2
testはチョキを出しました
コンピューターはチョキを出しました
結果は引き分けでした
>>> 


#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('名前を入力してください:')

print('何を出しますか?(1: グー, 2: チョキ, 3: パー)')

player_hand = input('数字で入力してください:')

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('結果は' + result + 'でした')
    
else:
    print('正しい数値を入力してください')


メモ

・「何を出しますか?(0: グー, 1: チョキ, 2: パー)」の表記を「何を出しますか?(1: グー, 2: チョキ, 3: パー)」に変更。
こちらの方が馴染みやすいかな。

0 件のコメント:

コメントを投稿