while循环不会停止,if语句为嵌套循环

时间:2017-03-29 05:47:45

标签: if-statement while-loop nested

请参阅下面的代码:

x = -1
num = -9

print("For exit press 0")

while (x != 0):
    num = input("Enter a number  :")
    print("You entered: ", num)
    x = num
    if x == 0:
        break


print("Good bye!")

即使0作为值输入,代码也不会停止。可能的原因是什么? 谢谢!

1 个答案:

答案 0 :(得分:0)

问题是你要将字符串与整数进行比较; Python是弱类型的,因此没有给出警告。

此外,input()在Python 2中投射输入,但不投射Python 3.这就是代码在Python 2中按预期工作的原因。

注意: while条件不需要括号。 建议格式化字符串以输出内容。

x = -1

print("To exit press 0")

while x != 0:
    num = input("Enter a number:")
    print("You entered: {}".format(num))
    x = int(num)
    if x == 0:
        break

print("Good bye!")