Вывести на печать слагаемые и сумму из строки

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

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)
→ Ссылка