2017-03-29 288 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,並且它工作。 –