total=0
while True:
number= int(input('enter nam: \n'))
if number=='done':
break
total=number+total
print(total)
File "d:\python\lo.py", line 4, in <module>
number= int(input('enter nam: \n'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: 'done'
PS D:\python>
问题是,您可以从角色中获取一个数字,但在“完成”一词之后,程序停止要求用户输入并给出总结果。
我的问题是,每次我只输入输入时都会出现两个错误,而当我输入 int(input) 时,它根本不会相加
您直接尝试将用户输入转换为整数值。您应该在转换之前检查它是否确实是数字输入。
total = 0
while True:
number = input('enter number: \n')
if number.isnumeric():
total += int(number)
elif number == 'done':
break
else:
print("Wrong input, try again.")
print(total)
您的问题是您正在尝试将字符串解析为 int。 你可以做这样的事情:
total=0
while True:
number= input('enter nam: \n')
if number=='done':
break
else:
total=int(number)+total
print(total)