Python While循环在被询问时不会退出

2024-09-27 00:20:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我不明白为什么当用户输入“0”时循环不会退出。你知道吗

def floatInput():
    done = False
    while not done:
        integerIn = input("Please enter an integer < 0 to finish >: ")
        try:
            integerIn = int(integerIn)            
        except:
            print("I was expecting an integer number, please try again...")
            import sys
            sys.exit()
        if integerIn == "0":
           done = True
        else:
            integers.append(integerIn)
    return integers

Tags: integers用户anfalseinputdefsysnot
3条回答

原因是integerIn是一个整数,您将其视为if integerIn=="0"中的字符串。换成integerIN==0就行了。你知道吗

def floatInput():
    done = False
    while not done:
        integerIn = input("Please enter an integer < 0 to finish >: ")
        try:
            integerIn = int(integerIn)            
        except:
            print("I was expecting an integer number, please try again...")
            import sys
            sys.exit()

上面的所有内容都很好,但是当您进行比较时,您忘记了您已经将输入转换为int

if integerIn == "0":

应该是

if integerIn == 0:

您正在转换为整数,然后检查是否与字符串“0”相等。你知道吗

相关问题 更多 >

    热门问题