<p>我是python的新手,我只是在创建一个简单的随机数猜测游戏</p>
<p>简单地说,要跳出while循环,用户必须猜测正确的数字或达到最大尝试次数,即3次</p>
<p>但是,当我调用函数检查尝试次数时,代码似乎没有中断循环。有没有办法从调用函数的while循环中解脱出来</p>
<p></p>
<pre><code>import random
print("*** RANDOM NUMBER GUESSING ***\n")
print("1. Guess the number between x and y.")
print("2. You have 3 attempts to guess the random number.\n")
x = input("The random number is generated between x: ")
x = int(x)
y = input ("and y: ")
y = int(y)
#Random number generated
randNum = random.randint(x,y)
userAttempts = 0
gameState = True
#Function checking the attempts made
#If max attempts reached then gameState = False to break out of the while loop
def maxAttempts(attempts, state):
if attempts == 3:
print("Max attempts reached!")
state = False
return state
while gameState:
userNum = input("Guess the random: ")
userNum = int(userNum)
if userNum == randNum:
print("Well done you guessed the correct number !!")
gameState = False;
elif userNum > randNum:
print("Number is too high")
userAttempts += 1
maxAttempts(userAttempts, gameState)
#debugging
print("Attempts: ", userAttempts)
print("Game state: ", gameState)
else:
print("Number is too low")
userAttempts += 1
maxAttempts(userAttempts, gameState)
#debugging
print("Attempts: ", userAttempts)
print("Game state: ", gameState)
print("\nGame finished.\n")
</code></pre>