2010-04-12 26 views
9

我正在尝试编写一个非常简单的程序,我想打印出100和100以下所有3和5的倍数的总和,但,错误不断accuring,说“无效的字面INT()基数为10:”我的程序如下:错误“int()与基数为10的无效文字:”不断提高

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

为什么你想追加一个字符串( “”),以多少? – 2010-04-12 10:19:42

+0

这绝对没有意义:'int('')'。 (i%在范围内(1,101)if(i%3 == 0)或(i%5 == 0))' – 2010-04-12 10:25:03

回答

10

""是造成这些问题的原因。

变化

sum = "" 

sum = 0 

,摆脱

else: 
sum += "" 
7

Python不是JavaScript:""不会自动转换为0,并且0不会自动转换为"0"

您的程序似乎也混淆了打印三和五的所有倍数的总和和打印所有数字的三倍和五倍数的列表。

3

好的,我是Python的新手,所以我做了很多愚蠢的事情;无论如何,我认为我现在已经完成了。

sum = 0 
for i in range(1, 1001): 
    if i % 5 == 0: 
     sum += i 
    elif i % 3 == 0: 
     sum += i 

print sum 
相关问题