import random
ACTIONS = ['rock', 'paper', 'scissors']
MAP = [['=', '<', '>'],
['>', '=', '<'],
['<', '>', '=']]
SCORE = {'=': ['Tied Game!', 0, 0],
'>': ['WINNER!', 1, 0],
'<': ['You Lost.', 0, 1]}
score_user = 0
score_comp = 0
play = 'yes'
while play == 'yes':
user = ACTIONS.index(input(f'Type your choice {ACTIONS}: '))
comp = random.randint(0, 2)
print(f'You chose {ACTIONS[user]}, computer chose {ACTIONS[comp]}.')
res = MAP[user][comp]
score_user += SCORE[res][1]
score_comp += SCORE[res][2]
print(f'{ACTIONS[user].title()} {res} {ACTIONS[comp].title()}. {SCORE[res][0]} Your score: {score_user}. Comp score: {score_comp}')
play = input('Play again? yes or no: ')
输出:
Type your choice ['rock', 'paper', 'scissors']: rock
You chose rock, computer chose scissors.
Rock > Scissors. WINNER! Your score: 1. Comp score: 0
Play again? yes or no: yes
Type your choice ['rock', 'paper', 'scissors']: paper
You chose paper, computer chose scissors.
Paper < Scissors. You Lost. Your score: 1. Comp score: 1
Play again? yes or no: no
将分数保存在专用变量(
score_user
,score_comp
)中,并在每次迭代时更新它们。 您还可以通过用MAP
列表替换所有if-else
语句来改进脚本:输出:
我想补充:
在项目开始时初始化值。然后,在玩家获胜的条件下:
在计算机获胜的条件下:
最后,如果要打印分数,请使用以下行:
相关问题 更多 >
编程相关推荐