For loop with range - Learn Python 3 - Snakify

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
Advertising by Google, may be based on your interests

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='.')
Advertising by Google, may be based on your interests