Модуль: (Python) Оператор цикла for. Типовые задачи


Задача

1/16

Сумма чисел последовательности - Пример 1

Теория Нажмите, чтобы прочитать/скрыть

Задача
Найти сумму всех целых чисел от 100 до 500. 

Напишем программу, которая решает данную задачу, без использования формулы. Если мы будем просто записывать результат сложения в переменную s, например, как
\(s=100+101+102+103+...+500\),

мы потратим очень много времени на саму запись, ведь компьютер не поймет как использовать многоточие в арифметическом выражении и нам придется написать все числа от 100 до 500. Да и ценность такой программы будет ничтожной. Особенно если мы захотим поменять наши числа и взять другой диапазон.

Как же нам поступить?
Если мы обратим внимание на запись выше, то у нас постоянно используется сложение "+".
Можно попробовать добавлять числа к переменной s постепенно. Например, используя такую запись
s=s+i.
Что мы здесь сделали:
1) справа мы поставили вычисление выражения s+i, то есть мы берем значение переменной s и добавляем к нему значение переменной i;
2) слева мы поставили имя переменной s, то есть весь результат вычисления справа будут сохраняться в эту же переменную s, таким образом мы будем изменять значение переменной s
Останется только изменять значение переменной i в нужном диапазоне. Это можно сделать с помощью цикла for.
 
Числа от 100 до 500, которые относятся к нашему диапазону, должны по очереди попадать в переменную i
Пример

# ВАЖНО! В начале необходимо обнулить переменную s, 
# чтобы на первом шаге число 100 добавлялось к нулю, 
# а не к тому что в памяти!
s = 0                      
for i in range(100, 501):  # заголовок цикла, в котором переменная i 
    s += i        # меняет свое значение от 100 до 500 с шагом 1,
                  # в теле цикла постепенно к переменной s, 
                  # добавляем значение изменяющейся переменной i,
                  # и результат сохраняем обратно в переменной s


Данное решение очень похоже на вычисление суммы по действиям:
 \(s = 0 + 100 = 100, \\ s = 100 + 101 = 201, \\ s = 201 + 102  = 303 \\ ... \)
 
 

Задача

Запустите разобранную в теоретической части программу на выполнение, посмотрите результат ее работы.