2017-03-29 240 views
-1

见下面我的代码:while循环没有停止,与if语句的嵌套循环

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

请说明您正在使用的语言。看起来像Python。 –

+0

对我来说这个工作(如果这是Python代码)。我的Python 2.7.6(OSX)。 –

+0

它与我合作,我只是复制代码并运行它,它按预期工作,我在Python 2.7 –

回答

0

问题是你正在比较字符串与整数; Python是弱类型的,所以没有给出警告。

此外,input()蒙上在Python 2的输入,而不是蟒蛇3.这就是为什么代码工作预期在Python 2

注: 你并不需要,而状态括号。 建议将格式化字符串用于输出内容。

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!") 
+0

谢谢!我想通过上面的线索我必须修改的唯一一行如下: x = int(num) 我刚添加int(),以便数值进入变量x,并且它工作。 –