Python 我的while循环从未到达条件语句并一直循环

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

任务是做一个以参数为答案的猜谜游戏。最后,如果对方答对了,它会打印一条祝贺语句并返回尝试次数,如果他们键入quit,它会显示答案并尝试==-1。除此之外,它一直循环,直到他们得到正确的答案

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上述代码应该有效。它在同样的原则下工作。