擅长:python、mysql、java
<p>您的问题来自于控制语句(if、elif、else)的结构化方式。当你进入你的平局,而循环,你是不断运行,直到有人获胜,这似乎没有问题。问题是一旦你这样做了,python解释器会跳过控制块中的所有elif和else语句(如果我说if x==3:do this else:do that),如果x确实==3,我不希望python继续执行else条件。抱歉,如果这是令人困惑,长话短说,你需要确保,即使你的平局得到执行,你仍然继续得分,并开始新的一轮。简单的方法是将elif(player==“r”)改为if语句。这样,解释器将得分控制序列视为自己的块,一旦分配了每个球员的掷球数,它将始终被执行。在</p>
<h2>示例:</h2>
<pre><code>def f(x):
if (x == 0):
print("1")
x += 1
elif (x == 1):
print("2")
print("Done!")
def g(x):
if (x == 0):
print("1")
x += 1
if (x == 1):
print("2")
print("Done!")
</code></pre>
<p>如果您调用f(0):
Python将打印出1,然后完成!在</p>
<p>如果你叫g(0):
Python将打印出1到2然后完成!在</p>