#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.