Python将While循环设置为等数

Python将While循环设置为等数,python,while-loop,Python,While Loop,我试图让用户输入数字,直到它等于999。由于某种原因,输入的第一个数字没有注册,出现在0处。我知道我已经将它设置为0,但这是为了将程序推入循环 counter = 0 equals = 0 while equals < 999: equals = equals + counter print(equals) if counter < 998: counter = eval(input("Enter numbers to equal 999"))

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

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,因为您在从输入读取它之前先打印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)

不要使用evalinput。。。使用输入。。。Instedi测试了它,它运行正常?好吧,出于某种原因,它似乎对我不起作用。我感谢你的帮助