在Python CGI中增加分数

2024-05-20 15:26:44 发布

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

我在提高分数方面遇到了一些困难。它可以工作,但在第一个“+1”完成后,它会一直重置为零

user1score = 0
user2score = 0

def main():
    if form.has_key('choice'):
        myMove = form['choice'].value
        cpuM = computerMove()
        result = compareMove(myMove, cpuM)
        now = datetime.datetime.now()
        writeFile(user, result, now)
        show(user)
        print user
        print now.strftime("%Y-%m-%d %H:%M")
        print result



    else:
        show(user)



def computerMove():
    cc = ["rock","scissor","paper"]
    return random.choice(cc)



def compareMove(myMove, cpuM):
    global user1score
    global user2score
    if myMove == cpuM:
        return "Its a tie!"
    elif myMove == 'rock':
        if cpuM == 'paper':
            user2score += 1
            return "Paper beats Rock. Computer wins! " + str(user2score)
        else:
            user1score += 1
            return "Rock beats Scissors. You win! " + str(user1score)
    elif myMove == 'paper':
        if cpuM == 'rock':
            user1score += 1
            return "Paper beats Rock. You win! " + str(user1score)
        else:
            user2score += 1
            return "Scissors beats paper. Computer wins! " + str(user2score)
    elif myMove == 'scissors':
        if cpuM == 'rock':
            user2score += 1
            return "Rock beats scissors. Computer wins " + str(user2score)
        else:
            user1score += 1
            return "Scissors beats paper. You win " + str(user1score)

如何防止分数增加1后返回到零?其他一切都按计划进行

多谢各位


Tags: returnifdefelsenowpaperrockstr
1条回答
网友
1楼 · 发布于 2024-05-20 15:26:44

由于每次用户执行某项操作时都会调用脚本,因此无法记住前几轮的结果

使用某种会话(cookie)或将分数作为隐藏元素添加到表单

相关问题 更多 >