Функция range() позволяет сгенерировать последовательность нужной длины. По сути, функция range() позволяет превратить цикл for в его классический вариант - цикл со счетчиком, например:
for х in range(l, 100):
print(x)
range ([начало,] конец [, шаг])
Если у функции один параметр, то это - конец. При этом в качестве параметра начало используется О. То есть range(0) равносильно range(0, 100). Значение параметра конец не включается в создаваемую последовательность, то есть при вызове range(0, 100) в последовательности будут числа от О до 99.
Параметр шаr задает инкремент. По умолчанию используется значение 1. Шаr может быть и отрицательным, поэтому вы можете не только увеличивать значение, но и уменьшать ero:
for х in range(200, 100, -1):
print(x)
В Python 2 функция range() возвращала просто список чисел. В Python 3 возвращается объект, поддерживающий механизм итерации. Данный объект поддерживает методы index(<значение>) и count(<значение>). Первый возвращает индекс элемента, имеющеrо указанное значение. Второй возвращает количество элементов с указанным значением. Примеры:
>>> rng = range(1, 100)
>>> rng.index(5)
4
>>> rng.count(100)
0
Нумерация элементов начинается с 0, поэтому элементу с числом 5 соответствует индекс 4. А вот поскольку число 100 не входит в нашу последовательность, то количество элементов, равных 100, равно 0.
Рассмотрим еще несколько примеров использования range():
for i in range(10):
print(i, end=" ")
print ()
for i in range (0, 50, 5):
print(i, end=" ")
print () for i in range(10, 0, -1):
print(i, end=" ")
Вывод будет таким:
0 1 2 3 4 5 6 7 8 9
0 5 10 15 20 25 30 35 40 45
10 9 8 7 6 5 4 3 2 1
Первый цикл for выводит значения от 0 до 10. Мы указываем только верхнюю границу. Если нижняя граница не указана, то подразумевается, что это 0.
Второй цикл for работает от О до 5, а увеличение счетчика происходит сразу на 5 единиц. Поэтому мы увидим числа 0, 5, 10, 15 и т.д. - кратные 5.
Третий цикл работает от 10 до 0, уменьшение счетчика происходит на единицу ( -1 ). Поэтому числа будут выведены в обратном порядке.
Функция range() возвращает последовательность цифр. Если ей передать в качестве аргумента положительное число, то последовательность будет охватывать числа от О до переданного аргумента ( включая его).
Если передать функции range() три аргумента, как мы это сделали во втором и третьем случаях, то они будут рассматриваться как начало, конец счета и интервал. Начало - это первый элемент нашей последовательности чисел, а конечное значение в него не попадает, поэтому мы получили набор чисел 0 5 10 15 20 25 30 З5 40 45 во втором случае.