Как работает range()?

Okelo

Новичок
Пользователь
Фев 27, 2023
6
0
1
Здравствуйте. Помогите разобраться ,знающие люди.
нужно вводить числа с клавиатуры. Когда появится НОЛЬ нужно выдать сумму всех предыдущих цифр.
Написал вот такой код
Python:
sum = 0
for num in range(int(input())):
  num = int(input())
  if num==0:
    break
  sum += num
print(sum)
так он выдает начальную цифру- количество последующих.
Например ставлю 5 а потом еще пять чисел. так код считает Пять раз сумму. Если поставить 10 , то десять раз. Если будет Ноль, то выдает сумму ранее введенных. Мне нужно, чтобы сколько раз ввел, столько и суммировал,пока не будет Ноль.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
Попробуйте через цикл while
 

Okelo

Новичок
Пользователь
Фев 27, 2023
6
0
1
Спасибо. Но цикл while я еще не изучил.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
Спасибо. Но цикл while я еще не изучил.
range делает последовательный список чисел включительно до числа, который передан в параметре
цикл for выполняет итерацию столько раз сколько элементов в списке

Мне нужно, чтобы сколько раз ввел, столько и суммировал,пока не будет Ноль.
sum зарезервированное слово в питоне, его переопределение может привети к неопределенному поведению
Python:
summ = 0
while 1:
    num = int(input())
    if num == 0:
        break
    summ += num
print(summ)
 

Okelo

Новичок
Пользователь
Фев 27, 2023
6
0
1
Спасибо! Помогло! А все таки- можно ли решить с range()
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
Спасибо! Помогло! А все таки- можно ли решить с range()
Python:
summ = 0
for i in range(100000):
    num = int(input())
    if num == 0:
        break
    summ += num
print(summ)
 
  • Мне нравится
Реакции: Okelo

Форум IT Специалистов