<p>将分数保存在专用变量(<code>score_user</code>,<code>score_comp</code>)中,并在每次迭代时更新它们。
您还可以通过用<code>MAP</code>列表替换所有<code>if-else</code>语句来改进脚本:</p>
<pre><code>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: ')
</code></pre>
<p>输出:</p>
<pre><code>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
</code></pre>