Я только начал изучать python по hyperskill в течение последних нескольких недель.
Вот сценарий:
Напишите программу, которая считывает из консоли целые числа (одно в line), пока их сумма не станет равной 0. Сразу после этого должна отображаться сумма квадратов всех введенных чисел. Гарантируется, что в какой-то момент сумма введенных чисел будет равна 0. После этого чтение не нужно продолжать.
В случае, если первое целое число равно 0, также прекратить чтение значений из ввод. Выведите 0 вместо суммы квадратов.
Например, мы читаем числа 1, -3, 5, -6, -10, 13. В этот момент мы заметили, что сумма из этих чисел 0 и вывести сумму их квадратов, не обращая внимания на то, что есть еще непрочитанные значения.
num = int()
listtrigbreak = []
listsquares = []
sumtrig = 0
sumsqua = 0
while sumtrig != 0: # until sum of trig is not 0,
num = int(input()) #accept numbers
if num == "0": # while first input is 0,
print(0) # print 0
break # and break the loop
listtrigbreak.append(num) # append num to listtrig
sumtrig += sum(listtrigbreak) # add sum of list to sumtrig
for x in listtrigbreak: # for each number in listtrigbreak
squared = x ** 2 # convert each to squares, save variable
listsquares.append(squared) # add squared to listsquq
sumsqua = sum(listsquares) # sum of squares in listsqua
else:
print(sumsqua)
Я даже не могу пройти первое, пока l oop. Всякий раз, когда я запускаю его, он пропускает все while l oop и переходит к следующему:
else:
print(sumsqua)
Мне с самого начала действительно было трудно с логическими логами c. Мне нужны объяснения.