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='.')