Вывести на печать слагаемые и сумму из строки
На вход программе подается строка текста, содержащая натуральные числа. Напишите программу, которая вставляет между каждым числом знак +, а затем вычисляет сумму полученных чисел.
a = input().split()
for i in range(len(a)):
a[i] = int(a[i])
print(*a, sep='+', end='=')
на входе 2 5 11 33 55
на выходе должно быть 2+5+11+33+55=106
как мне в принт затолкать sum(a) после end? не могу ничего придумать, уже и пробовал в отдельные переменные их и конкатенацию, join не работает из за цифр...
Ответы (3 шт):
Автор решения: Jack_oS
→ Ссылка
Можно так:
a = input()
my_list = [int(x) for x in a.split()]
print(f'{"+".join(str(x) for x in my_list)}={sum(my_list)}')
при 1 2 3 4 13 42 выведет:
>? 1 2 3 4 13 42
1+2+3+4+13+42=65
или так:
str_list = input().split()
print(f'{"+".join(str_list)}={sum(int(x) for x in str_list)}')
или, с таким же результатом, так:
print(f'{"+".join(str(x) for x in a.split())}={sum([int(x) for x in a.split()])}')
Автор решения: Kers
→ Ссылка
Попробуйте так:
a=input().split(" ")
summ = 0
text = ""
for i in a:
summ+=int(i)
text+= str(i)+"+"
text = text.removesuffix("+")
print(f"{text}={summ}")
Автор решения: Usankov Vladimir
→ Ссылка
#вводим переменную total для суммирования элементов
total = 0
#разбиваем строку по пробелам и сохраняем в списке
a = input().split()
for i in range(len(a)):
#преобразуем строки в числа
a[i] = int(a[i])
#прибавляем элемент списка(число) к нашей переменной
total += a[i]
#выводим на печать элементы списка (слагаемые)
#sep='+' это разделитель между каждым элементом списка
#в конце всех элементов выводим символ "="
print(*a, sep='+', end='=')
#выводим сумму элементов
print(total)