2016-11-28 81 views
-3

我试图让用户输入数字,直到它等于999.出于某种原因,输入的第一个数字没有注册并出现在0.我知道我已经将它设置为0,但那是为了将程序推入循环。Python虽然循环到相等数

counter = 0 
equals = 0 
while equals < 999: 
    equals = equals + counter 
    print(equals) 
    if counter < 998: 
     counter = eval(input("Enter numbers to equal 999")) 
    else: 
     print("number entered is equal or over 999") 
+0

不要使用'的eval(输入(...))''使用INT(输入(...))'代替 –

+0

我测试了它和它的工作好么? –

+0

好吧,出于某种原因,它似乎没有为我工作。我很感激帮助 – future49

回答

0

它打印0在第一次迭代,因为你print(equals)之前从输入读取它。所以:

counter = 0 
equals = 0 
while equals < 999: 
    if counter < 998: 
     counter = int(input("Enter numbers to equal 999")) 
    else: 
     print("number entered is equal or over 999") 
    equals = equals + counter 
    print(equals)