Попробуем написать программу для решения следующей задачи:
Найти сумму всех целых чисел от 100 до 500.
При решении данной задачи возникает трудность в поиске суммы. Если мы будем просто записывать результат сложения в переменную s, например, таким образом
s = 100 + 101 + 102 + 103 + ... + 500
У нас уйдет очень много времени на саму запись, ведь компьютер не поймет, как использовать многоточие в арифметическом выражении, и нам придется написать все числа от 100 до 500 в эту сумму. Да и ценность такой программы будет ничтожной. Особенно если мы захотим поменять наши числа или взять другой диапазон.
Как же нам поступить?
Если мы обратим внимание на запись выше, то у нас постоянно используется сложение "
+
".
Можно попробовать добавлять числа к переменной
s постепенно. Например, используя такую запись
s = s + i
Что мы здесь сделали:
1) справа мы поставили вычисление выражения
s + i
, то есть мы берем значение переменной
s, которое у нас сейчас в памяти и добавляем к нему значение переменной
i
2) слева мы поставили имя переменной
s, то есть весь результат вычисления справа будут сохраняться в эту переменную, таким образом, мы изменяем значение переменной
s.
Где же взять числа из нашего диапазона?
Числа от 100 до 500, которые относятся к нашему диапазону, должны по очереди попадать в переменную
i. А это можно сделать с использованием известного нам цикла
for
и функции
range()
Например, таким образом:
s = 0 # ВАЖНО! в начале необходимо обнулить переменную s, чтобы на первом шаге число 100 добавлялось к нулю, а не к тому что в памяти!
for i in range(100, 501): # заголовок цикла, в котором переменная i меняет свое значение от 100 до 500 с шагом 1
s += i # тело цикла, в котором мы постепенно к переменной s добавляем значение изменяющейся переменной i
# и результат сохраняем обратно в переменной s
Данное решение очень похоже на вычисление суммы по действиям
s = 0 + 100 = 100
s = 100 + 101 = 201
s = 201 + 102 = 303
и т.д.