我有两个关于我的代码的问题。为什么程序没有进入第二个if
语句。我该如何结束循环?
from random import *
SecretNumber=randint(1,5)
Guess=int(input("Please enter Guess: "))
NumberofGuesses=1
SecretNumber=0
while Guess != SecretNumber:
NumberofGuesses=NumberofGuesses+1
if Guess>SecretNumber:
print("Please insert a smaller number")
else:
print("Please insert a bigger number")
if Guess==SecretNumber:
print("Number of Guesses: {0}".format(NumberofGuesses))
答案 0 :(得分:4)
您的第二个if
超出了while
循环,所以在您猜到密码之前它不会被击中。循环永远不会结束,因为你从未读过另一个猜测。
您还遇到一个问题,即您将随机密码覆盖为零。
您需要以下内容:
import random
SecretNumber=random.randint(1,5)
NumberofGuesses=0
while true:
Guess=int(input("Please enter Guess: "))
NumberofGuesses += 1
if Guess == SecretNumber:
break # Got it!
elif Guess>SecretNumber:
print("Please insert a smaller number")
else:
print("Please insert a bigger number")
print("Number of Guesses: {0}".format(NumberofGuesses))
答案 1 :(得分:1)
这是因为你将SecretNumber设置为0.删除它并且它应该可以工作。