(Python) Исправить ошибку в коде(очень маленьком)
Смысл кода состоит в том, что вводится сумма чисел в виде строки. (Например 15+3+27) Вывести он должен сумму в виде числа(В данном случае 45) Свой код прикрепил ниже(считает сумму не правильно) Если не сложно, исправьте её, буду очень благодарна.
sum=str(input('Введите сумму трёх чисел(x+y+c):'))
N=0
b=str(0)
for x in sum:
if x!='+':
b=b+x
else:
c=int(b)
N=int(N+c)
print(N)
Ответы (3 шт):
Автор решения: splash58
→ Ссылка
Не обсуждая алгоритм и стиль, вот работающий код
s = input('Введите сумму трёх чисел(x+y+c):')
N = 0 # тут накапливаем сумму
b = 0 # тут собираем слагаемые
for x in s:
if x == '+':
N += b # число кончилось, можно складывать
b = 0 # сбросим аккумулятор
else:
b = b*10+int(x) # добавляем в число младший разряд
N += b # прибавим последнее число
print(N)
Автор решения: Sergey Gornostaev
→ Ссылка
v = sum(int(i.strip()) for i in input('Введите сумму трёх чисел(x+y+c):').split('+'))
print(v)