Установите общее значение равным нулю при вычислении суммы заданных чисел

#python #python-3.x

Вопрос:

Я новичок в python и пытаюсь попрактиковаться в некоторых упражнениях, однако в этом коде я застрял со строкой «всего = 0». На самом деле я действительно не понимаю, почему это значение инициализируется равным 0. Кто-нибудь может, пожалуйста, объяснить мне это ?

 def main():
    print("This program allows you to total up some numbers")
    print()

    n = int(input("How many numbers do you have? "))
    total = 0
    for i in range(n):
        num = float(input("Enter a number: "))
        total = total   num

    print()
    print("The sum of the numbers is:", total)

main()
 

Комментарии:

1. Как бы total = total num это работало на первой итерации, если total бы не было инициализировано с 0 помощью ?

2. FWIW, весь этот цикл и инициализацию можно заменить на sum(float(input("Enter a number: ")) for _ in range(n))

3. Тем не менее , цикл дает вам возможность перехватывать ValueError вызовы, вызванные отдельными вызовами float .

Ответ №1:

Удалите эту строку, и вы увидите, что получите сообщение об ошибке:

Ошибка имени: имя «всего» не определено

Это связано с тем, что оба total и num должны быть инициализированы, прежде чем вы сможете использовать их в total = total num

Вы инициализируете его перед for циклом, иначе он каждый раз сбрасывался бы на 0.