我正在为我的编程类创建一个应用程序,但我无法让它正常运行。本质上,应用程序应该从用户获取8个数字并将它们存储在一个数组中,然后添加这些数字。但是,如果用户没有提供号码,或按Q,程序应该停止。
userNumberList = []
counter = 0
while counter < 8:
try:
userNumber = int(input("Welcome! Please provide numbers or press q to quit. "))
except ValueError:
print("Not a number. Closing application.")
break
else:
if userNumber == 'q':
break
else:
userNumberList.append(int(userNumber))
counter += 1
print(sum(userNumberList))
这是我在提示符中输入字符串而不是数字时得到的错误:
userNumber = int(input("Welcome! Please provide numbers or press q to quit. "))
ValueError: invalid literal for int() with base 10:
答案 0 :(得分:2)
试试这个: 在检查q之前不要转换为int。
for %%A
答案 1 :(得分:0)
请勿立即将输入转换为int
。无论如何,你正在处理它。
并且input
将输入评估为python代码。请改用raw_input
。这个答案可能会有所帮助Python 2.7 getting user input and manipulating as string without quotations
userNumber = raw_input("Welcome! Please provide numbers or press q to quit. ")
更改此行可修复程序。