Сумма натуральных чисел
В этом примере посмотрим, как посчитать сумму натуральных чисел от 1 до num. Будем использовать связку if...else и цикл while.
Что нужно знать
Перед изучением примера полезно понимать:
Оператор if…else в Python — условные операторы
Python: цикл while — цикл while
Исходный код
# Sum of natural numbers up to num
num = 16
if num < 0:
print("Enter a positive number")
else:
sum = 0
# use while loop to iterate until zero
while(num > 0):
sum += num
num -= 1
print("The sum is", sum)
Вывод
The sum is 136
Чтобы проверить программу на другом числе, достаточно поменять значение переменной num.
Сначала переменная sum обнуляется, а число запоминается в num. Затем цикл while выполняется до тех пор, пока num не станет равным нулю. На каждой итерации текущее значение num прибавляется к sum, а само num уменьшается на единицу.
Решение через формулу
Эту же задачу можно решить вообще без цикла — по известной формуле суммы арифметической прогрессии:
n*(n+1)/2
Например, при n = 16 сумма равна (16*17)/2 = 136.
Задание для себя: попробуйте переписать программу так, чтобы она находила сумму натуральных чисел по этой формуле.