Lesson 4
Для контура с диапазоном
1. Для контура с диапазоном
На предыдущих уроках мы рассматривали последовательные программы и условия. Часто программе необходимо несколько раз повторить несколько блоков. Вот где петли пригождаются. Есть for
и в while
операторы цикла в Python, в этом уроке мы покрываем for
.
for
цикла итерации по любой последовательности. Например, любая строка в Python представляет собой последовательность ее символов, поэтому мы можем перебирать их, используя for
:
for character in 'hello': print(character)
Другим вариантом использования for-loop является итерация целой переменной в порядке возрастания или уменьшения. Такая последовательность целых чисел может быть создана с использованием range(min_value, max_value)
функций range(min_value, max_value)
:
for i in range(5, 8): print(i, i ** 2) print('end of loop') # 5 25 # 6 36 # 7 49 # конец цикла
range(min_value, max_value)
функций range(min_value, max_value)
генерирует последовательность с номерами min_value
, min_value + 1
, ..., max_value - 1
. Последнее число не включено.
Существует уменьшенная форма range () - range(max_value)
, и в этом случае min_value неявно устанавливается в ноль:
for i in range(3): print(i) # 0 # 1 # 2
Таким образом, мы можем несколько раз повторить несколько действий:
for i in range(2 ** 2): print('Hello, world!')
То же самое с , если- то еще, отступы , что определяет , какие инструкции контролируются for
и которые не являются.
Range () может определять пустую последовательность, например range(-5)
или range(7, 3)
. В этом случае for-block не будет выполнен:
for i in range(-5): print('Hello, world!')
Давайте рассмотрим более сложный пример и суммируем целые числа от 1 до n включительно.
result = 0 n = 5 for i in range(1, n + 1): result += i # это ^^ является сокращением для # result = result + i print(result)
Обратите внимание, что максимальное значение в диапазоне () равно n + 1
чтобы сделать i
равным n на последнем шаге.
Для итерации по уменьшающейся последовательности мы можем использовать расширенный вид range () с тремя аргументами - range(start_value, end_value, step)
. При опускании этот шаг неявно равен 1. Однако может быть любое ненулевое значение. Цикл всегда включает start_value и исключает значение end_value во время итерации:
for i in range(10, 0, -2): print(i) # 10 # 8 # 6 # 4 # 2
2. установка функции print ()
По умолчанию функцияprint()
печатает все свои аргументы, разделяющие их пробелом, и после этого помещает символ новой строки. Это поведение можно изменить с помощью аргументов ключевого слова sep
(separator) и end
.print(1, 2, 3) print(4, 5, 6) print(1, 2, 3, sep=', ', end='. ') print(4, 5, 6, sep=', ', end='. ') print() print(1, 2, 3, sep='', end=' -- ') print(4, 5, 6, sep=' * ', end='.')