ошибка "неверный литерал для int () с основанием 10:" продолжает появляться - PullRequest
9 голосов
/ 12 апреля 2010

Я пытаюсь написать очень простую программу, я хочу вывести сумму всех кратных 3 и 5 ниже 100, но ошибка продолжает накапливаться, говоря «недопустимый литерал для 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

Любая помощь будет высоко ценится.

Ответы [ 3 ]

10 голосов
/ 12 апреля 2010

"" является причиной этих проблем.

Изменить

sum = ""

до

sum = 0

и избавиться от

else:
 sum += ""
7 голосов
/ 12 апреля 2010

Python не является JavaScript: "" не преобразуется автоматически в 0, а 0 не преобразуется автоматически в "0".

Ваша программа, похоже, также путается между выводом суммы всех кратных трех и пяти и выводом списка всех чисел, кратных трем и пяти.

3 голосов
/ 12 апреля 2010

Хорошо, я новичок в Python, поэтому я делал немало глупостей; во всяком случае, я думаю, что я решил это сейчас.

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

print sum
...