错误“以10为基数的int()无效文字”不断出现
我正在尝试写一个非常简单的程序,我想打印出所有小于100的3和5的倍数的总和。但是,我总是遇到一个错误,提示“无效的字面量,无法转换为整数”。我的程序如下:
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
任何帮助都会非常感谢。
3 个回答
3
好的,我刚接触Python,所以做了不少傻事;不过,我想我现在搞明白了。
sum = 0
for i in range(1, 1001):
if i % 5 == 0:
sum += i
elif i % 3 == 0:
sum += i
print sum
7
Python和JavaScript不一样:在Python中,空字符串""
不会自动变成数字0
,而数字0
也不会自动变成字符串"0"
。
你的程序似乎搞混了两个事情:一个是计算所有能被三和五整除的数的总和,另一个是列出所有能被三和五整除的数。
10
这些问题的根源在于 ""
。
把
sum = ""
改成
sum = 0
并且去掉
else:
sum += ""