Python 我的while循环从未到达条件语句并一直循环
任务是做一个以参数为答案的猜谜游戏。最后,如果对方答对了,它会打印一条祝贺语句并返回尝试次数,如果他们键入quit,它会显示答案并尝试==-1。除此之外,它一直循环,直到他们得到正确的答案Python 我的while循环从未到达条件语句并一直循环,python,while-loop,conditional,Python,While Loop,Conditional,任务是做一个以参数为答案的猜谜游戏。最后,如果对方答对了,它会打印一条祝贺语句并返回尝试次数,如果他们键入quit,它会显示答案并尝试==-1。除此之外,它一直循环,直到他们得到正确的答案 def guessNumber(num): tries = 1 while tries > 0: guess = input("What is your guess? ") if guess == num: print ("Corr
def guessNumber(num):
tries = 1
while tries > 0:
guess = input("What is your guess? ")
if guess == num:
print ("Correct! It took you" + str(tries)+ "tries. ")
return tries
elif guess == "quit":
tries == -1
print ("The correct answer was " + str(num) + ".")
return tries
else:
tries += 1
当我运行它时,无论我在里面放了什么,它都会不断地问我的猜测 代码缩进是否正确? 定义的函数体由缩进级别决定 在粘贴的示例中,由于def后面的行缩进较少,因此函数体为“空” 此外,为变量指定一个值时,必须使用单个“=”,因此:
tries == -1
应该是
tries = -1
如果要将-1值赋给该变量。因为您调用了变量
num
,所以我猜它是一个整数,您正在检查整数和字符串之间的相等性,所以它永远不会为真。比较时尝试将num更改为str(num),以便:
def guessNumber(num):
tries = 1
while tries > 0:
guess = input("What is your guess? ")
if guess == str(num):
print ("Correct! It took you {0} tries. ".format(tries))
return tries
elif guess == "quit":
tries = -1
print ("The correct answer was {0}.".format(num))
return tries
else:
tries += 1
break
,然后return
如果它在键入“quit”后一直询问,那么您应该分析调用此函数的部分。你把它称为循环吗?你确定你发布了实际的缩进吗?肯定不是解决方案。空函数会导致异常。这确实解决了问题,但现在我无法输入“quit”,因为它不是整数。我意识到我的错误,所以我在18分钟前更改了答案。很抱歉造成混淆@MalaikatuKargbo上述代码应该有效。它在同样的原则下工作。