首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >石头,剪刀,剪刀,蜥蜴和斯波克。WIns计数器不工作

石头,剪刀,剪刀,蜥蜴和斯波克。WIns计数器不工作
EN

Stack Overflow用户
提问于 2015-08-20 09:53:02
回答 1查看 400关注 0票数 0

我一直在尝试让它显示计算机和玩家的获胜次数。我尝试使用while语句,但它们似乎从来都不起作用,所以我的if语句不允许超过1。我需要帮助理解第57、58、66和69行中需要更改的内容。

代码语言:javascript
运行
复制
selection = {"0" : "Rock", "1" : "Paper", "2" : "Scissors", "3" : "Lizard", "4" : "Spock"}

def RPSLS():

 Player = random.randrange(5)
 Computer = random.randrange(5)

 print "\n"
 def Selection(Player):
     if Player == 0:
         Player = selection["0"]
     elif Player == 1:
         Player = selection["1"]
     elif Player == 2:
         Player = selection["2"]
     elif Player == 3:
         Player = selection["3"]
     else:
         Player = selection["4"]
     print "Player chooses", Player
     return Player

 Selection(Player)

 def Selection(Computer):
     if Computer == 0:
         Computer = selection["0"]
     elif Computer == 1:
         Computer = selection["1"]
     elif Computer == 2:
         Computer = selection["2"]
     elif Computer == 3:
         Computer = selection["3"]
     else:
         Computer = selection["4"]
     print "Computer chooses", Computer
     return Computer

 Selection(Computer)

 def Wins():
     Difference = (Player - Computer) % 5
     Playerwins =+ 0
     Computerwins =+ 0

     if Difference == 0:
             print "Player and Computer tie!"
     elif Difference <= 2:
             Playerwins =+ 1
             print "Player Wins!"
     else:
             Computerwins =+ 1
             print "Computer Wins!"

     print "\n"
     print "Player Wins:", Playerwins
     print "Computer Wins:", Computerwins
     return Wins
 Wins()

Loop = 0

while Loop != 10:
 RPSLS()
 Loop += 1

raw_input("\n\nPress the enter key to exit.")
EN

Stack Overflow用户

发布于 2015-08-20 10:27:23

你的代码在作用域、语法、命名约定等方面有很多问题。我建议阅读Python 的教程。然而,在不做完全重写的情况下,这里是我需要做的最小数量的更改,以使您的代码正常工作。

代码语言:javascript
运行
复制
import random

selection = {0 : "Rock", 1 : "Paper", 2 : "Scissors", 3 : "Lizard", 4 : "Spock"}

Playerwins = 0
Computerwins = 0

def RPSLS():
    global Playerwins, Computerwins

    Player = random.randrange(5)
    Computer = random.randrange(5)

    print "Player chooses", selection[Player]
    print "Computer chooses", selection[Computer]

    Difference = (Player - Computer) % 5

    if Difference == 0:
        print "Player and Computer tie!"
    elif Difference <= 2:
        Playerwins += 1
        print "Player Wins!"
    else:
        Computerwins += 1
        print "Computer Wins!"

    print "Player Wins:", Playerwins
    print "Computer Wins:", Computerwins
    print "\n"

Loop = 0

while Loop != 10:
    RPSLS()
    Loop += 1

raw_input("\n\nPress the enter key to exit.")

此外,我不认为你的石头-布-剪刀-蜥蜴-斯波克规则是正确的。根据你的规则,斯波克打败了蜥蜴。看看这个。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32108341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档