我正在尝试编写一个非常简单的程序,我想打印出所有3和5以下的倍数的总和,但是,错误仍然存在,说“基于10的int()的无效文字:“我的节目如下:
sum = ""
sum_int = int(sum)
for i in range(1, 101):
if i % 5 == 0:
sum += i
elif i % 3 == 0:
sum += i
else:
sum += ""
print sum
非常感谢任何帮助。
答案 0 :(得分:10)
""
是造成这些问题的原因。
更改
sum = ""
到
sum = 0
并摆脱
else:
sum += ""
答案 1 :(得分:7)
Python不是JavaScript:""
不会自动转换为0
,而0
不会自动转换为"0"
。
您的程序似乎也在打印所有三倍和五倍的总和以及打印所有数字的列表(三倍和五倍的倍数)之间混淆。
答案 2 :(得分:3)
好的,我是Python的新手,所以我做了很多愚蠢的事情;无论如何,我想我现在已经解决了。
sum = 0
for i in range(1, 1001):
if i % 5 == 0:
sum += i
elif i % 3 == 0:
sum += i
print sum