2010-04-12 35 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 
相關問題