在石头、布、剪刀上加一个计分台

2024-09-30 16:30:21 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我在CodeSkulptor 3中玩石头、布、剪刀游戏的代码,我需要帮助添加计数或记分计数器

ppeepepepepepooopoppoopp

Tags: 代码游戏计数器计数石头记分剪刀codeskulptor
2条回答

将分数保存在专用变量(score_userscore_comp)中,并在每次迭代时更新它们。 您还可以通过用MAP列表替换所有if-else语句来改进脚本:

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

我想补充:

scores = [0, 0]

在项目开始时初始化值。然后,在玩家获胜的条件下:

scores[0] += 1

在计算机获胜的条件下:

scores[1] += 1

最后,如果要打印分数,请使用以下行:

print(f'Player Score: {scores[0]}, Computer Score: {scores[1]}')

相关问题 更多 >