• Как правильно использовать функцию sum() в Python?

    DarkWood
    @DarkWood
    Не знаю что именно вы проходите в книге, но, полагаю, большая часть примененного здесь еще не описывалась. Для разнообразия оно универсально и подойдет для любого количества вводимых значений.

    lst = [input() for i in range(2)]
    try:
      lst.insert(len(lst) // 2, sum([int(i) for i in lst]))
    except ValueError:
      lst.insert(len(lst) // 2, "".join(lst))
    print(*lst)


    in range(2) - здесь как раз можно изменить количество вводных значений.

    Далее в блоке try программа пытается преобразовать введенные данные в числа. Если это получается, то она выводит их сумму (как раз основанную на суммировании списка, как хотели сделать вы). Если хоть одно значение числом стать не может (ValueError), то оставляем все данные строковыми и просто объединяем вместе.

    len(lst) // 2 - всегда будет отдавать среднюю позицию для вставки в список.

    Кстати, непонятно почему вы у себя пишите позицию "7". Список имеет длину всего два элемента и новый добавлялся бы в конец, а не середину, как дано в задании.
    Ответ написан
    1 комментарий
  • Как правильно использовать функцию sum() в Python?

    @AWEme
    Retard Soft Inc.
    самый простой способ решения

    Не знаю зачем в книге написано делать это именно через список, можно обойтись и без него:
    v0 = input('Value 1: ')
    v1 = input('Value 2: ')
    if (v0 + v1).isdigit():
        new_value = str(int(v0) + int(v1))
    else:
        new_value = v0 + v1
    print(v0 + new_value + v1)

    Чтобы функция sum нормально работала в неё нужно передавать список чисел, а у вас, судя по ошибке, передаётся список списков.
    Ответ написан
    1 комментарий