2010-04-12 14 views
9

Çok basit bir program yazmaya çalışıyorum, 100'ün altında 3 ve 5'in tüm katları toplamını yazdırmak istiyorum, ancak şöyle benim programıdır:hatası "10 ile int() için geçersiz değişkeni" hatası: "geliyor

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 

Herhangi bir yardım çok takdir: bir hata "temel 10) (int için geçersiz literal" diyerek accuring tutar. otomatik 0 için dönüştürmez "" ve 0 otomatik "0" dönüştürmek değildir:

+0

kurtulmak? –

+0

bu mutlak anlamsızdır: int ('') '. 'sum (i aralığında (1, 101) i (i% 3 == 0) veya (i% 5 == 0)) –

cevap

10

Bu sorunların nedenidir.

Değişim

sum = "" 

sum = 0 

ve Neden bir dizi için bir dize ("") eklemek için çalışıyoruz

else: 
sum += "" 
7

Python JavaScript değildir.

Programınız, üç ve beşin tüm katları toplamının yazdırılması ile üç ve beşin katları olan tüm sayıların bir listesini yazdırmak arasında karıştırılmış gibi görünüyor.

3

Tamam, Python’da yeniyim, bu yüzden birkaç aptalca şey yapıyorum; her neyse, sanırım şimdi çalıştım. ""

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

print sum