回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我一直试图用我有限的python知识制作一个python石头布剪刀游戏,但对计算机/编程逻辑有很好的理解。这是我的密码:</p>
<pre><code>def Main():
from random import randint
global computerChoice
global userChoice
print "Ok, let's play 3 rounds."
for i in range(3):
userChoice = raw_input("Rock, paper, or scissors? ")
computerChoice = randint(1,3)
if userChoice == "Rock" or "rock":
userChoice = 1
choiceCompare()
elif userChoice == "Paper" or "paper":
userChoice = 2
choiceCompare()
else:
userChoice = 3
choiceCompare()
def choiceCompare():
global userChoice
global computerChoice
if userChoice == computerChoice:
print "I chose the same thing! It's a draw!"
elif userChoice != computerChoice:
if userChoice == 1:
if computerChoice == 2:
print "Yes! I chose paper, you lost!"
elif computerChoice == 3:
print "Dang. I chose scissors, you win."
elif userChoice == 2:
if computerChoice == 1:
print "Man. I chose rock, you win."
elif computerChoice == 3:
print "I chose scissors, you loose!"
else:
if computerChoice == 1:
print "Ha! I chose rock, you loose."
elif computerChoice == 2:
print "Aww, man! I chose paper, you win."
if __name__ == "__main__":
Main()
</code></pre>
<p>当我运行它时,我会得到完全错误的输出,比如:</p>
<pre><code>Ok, let's play 3 rounds.
Rock, paper, or scissors? paper
I chose the same thing! It's a draw!
Rock, paper, or scissors? paper
I chose the same thing! It's a draw!
Rock, paper, or scissors? paper
Dang. I chose scissors, you win.
</code></pre>
<p>或者这个:</p>
<pre><code>Ok, let's play 3 rounds.
Rock, paper, or scissors? scissors
Yes! I chose paper, you lost!
Rock, paper, or scissors? scissors
Yes! I chose paper, you lost!
Rock, paper, or scissors? scissors
Dang. I chose scissors, you win.
</code></pre>
<p>不过,rock似乎运转良好:</p>
<pre><code>Ok, let's play 3 rounds.
Rock, paper, or scissors? rock
Dang. I chose scissors, you win.
Rock, paper, or scissors? rock
I chose the same thing! It's a draw!
Rock, paper, or scissors? rock
Yes! I chose paper, you lost!
</code></pre>
<p>有人能告诉我他们认为哪里不对吗?提前谢谢,利亚姆。你知道吗</p>
<p>另外,我认为嵌套if语句中的choiceCompare函数有问题。我不太清楚是怎么回事。另外,忽略我从运行的程序中复制文本的位中的自动着色,因为它们实际上不是python代码,而是来自程序的文本。你知道吗</p>