На самом деле выводить числа, вручную считая значения — это не очень эффективно. В питоне все уже предусмотрено и есть способы возложить эту работу на сам язык.

Допустим хочу я вывести числа от 1 до 10. Согласно предыдущей задачке мы бы сделали это так:

i = 1

while i <= 10: # пока i меньше десяти
    print(i) # печатай
    i = i + 1 # и счетчик наращивай

получим так:

но тут нам надо делать сразу несколько лишних действий,

  • объявлять переменную с начальным значением
  • проверять что значение переменной не превысило максимального значения
  • увеличивать счетчик каждую итерацию

питон позволяют избавится от всех этих пунктов использовать второй вид цикла, который задается ключевым словом for

работает этот так:

for i in range(10):
    print(i)

если запустить, то выведет значения оно следующие значения:

хм, вроде чисел 10, но начинаются с 0, вообще в этом есть особой смысл что нумерация идет с нуля, но мы это разберем чуть позже.

Как же нам вывести значения от 1 до 10?

Первый способ — это когда мы принтуем значение, то принтовать не i а i + 1, вот так:

for i in range(10):
    print(i + 1)

и есть второй более грамотный способ, это передать в range начальное и конечно значение:

for i in range(1, 10):
    print(i)

проверяем:

хм, с одного начал – это хорошо, а все равно на девятке остановилось. Дело в том, что range всегда выдает значение на 1 меньше чем указано конечным значением.

Значит, чтобы вывести числа от 1 до 10, то надо писать так:

for i in range(1, 11):  # вывести числа от 1 до 11 невключая
    print(i)

Задание

Задача что уже была выше, только сделать ее с использованием range т .е.: запросить у пользователя начальное и конечное значение. Вывести квадраты чисел заключенные между этими числами.

Например вот так должно работать: