我制作了一个简单的程序,用户可以添加任意数量的数字,然后输入“exit”来停止它并打印总数,但有时它说将字符串转换为 int 失败,有时它确实转换但随后它的输出错误,例如我输入 1 + 1 但它打印 1
def addition():
x = 0
y = 1
total = 0
while x < y:
total += int(input())
if input() == "exit":
x += 1
print(total)
addition()
我尝试将其转换为 float ,然后转换为整数,但仍然不一致,我今天开始学习 python,发现 c++/c#/Java 的语法很难,所以请注意错误
最佳答案
也许这就是您正在寻找的:
def addition():
total = 0
while True:
value = input()
if value == "exit":
break
else:
try:
total += int(value)
except:
print('Please enter in a valid integer')
print(total)
编辑
<小时/>代码无法正常工作有两个原因:
首先,它失败的原因是因为您试图将单词“exit”转换为整数。
其次,正如 user2357112 指出的,有两个输入调用。第二个输入调用无意中跳过了输入的所有其他数字。您所需要做的就是一次输入调用并将输入的值设置为变量。
关于python - 字符串与 int 错误和响应不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25576469/