Перейти к основному содержимому

Цикл for

Цикл в любом языке программирования - это многократное выполнение одного и то же действия.

В Python все немного не так. Здесь цикл for - это цикл перебора последовательности. Он состоит из двух компонент: переменной (переменных) цикла и последовательности.

Приведу пример:

for item in 'one', 'two', 'three':  
print(item)

В приведенном выше примере переменная цикла item по очереди принимает каждое значение последовательности, которая записана после служебного слова in. На первом повторении переменная item равна строке 'one', на втором - строке 'two', на третьем - строке 'three'.

# Вывод:  
>> one
>> two
>> three

Еще несколько примеров:

for element in '1', 'hello', 2, 1990, True, False:  
print(element)
# Вывод:  
>> 1
>> hello
>> 2
>> 1990
>> True
>> False
```python
for letter in 'Hello world':
print(letter)
>> H  
>> e
>> l
>> l
>> o
>>
>> w
>> o
>> r
>> l
>> d

Функция range()

Функция range() возвращает диапазон (последовательность) целых чисел. range() может принимать 1, 2 или 3 аргумента.

Примеры функции range() с одним аргументом

# range() с одним аргументом  

print('range(3) -> 0, 1, 2')
for x in range(3): # range(3) -> 0, 1, 2
print(x)

print('range(5) -> 0, 1, 2, 3, 4')
for x in range(5): # range(5) -> 0, 1, 2, 3, 4
print(x)

# range(1) -> 0
# range(6) -> 0, 1, 2, 3, 4, 5
# range(10) -> 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
# Вывод:  
>> range(3) -> 0, 1, 2
>> 0
>> 1
>> 2
>> range(5) -> 0, 1, 2, 3, 4
>> 0
>> 1
>> 2
>> 3
>> 4

Примеры функции range() с двумя аргументами

print('range(3, 5) -> 3, 4')  
for x in range(3, 5): # range(3, 5) -> 3, 4
print(x)

print('range(1, 5) -> 1, 2, 3, 4')
for x in range(1, 5): # range(1, 5) -> 1, 2, 3, 4
print(x)

# range(2, 7) -> 2, 3, 4, 5, 6
# range(100, 105) -> 100, 101, 102, 103, 104
# range(50, 53) -> 50, 51, 52
# Вывод:  
>> range(3, 5) -> 3, 4
>> 3
>> 4
>> range(1, 5) -> 1, 2, 3, 4
>> 1
>> 2
>> 3
>> 4

Примеры функции range() с тремя аргументами

print('range(0, 10, 2) -> 0, 2, 4, 6, 8')  
for x in range(0, 10, 2): # range(0, 10, 2) -> 0, 2, 4, 6, 8
print(x)

print('range(1, 10, 2) -> 1, 3, 5, 7, 9')
for x in range(1, 10, 2): # range(1, 10, 2) -> 1, 3, 5, 7, 9
print(x)

print('range(10, 20, 3) -> 10, 13, 16, 19')
for x in range(10, 20, 3): # range(10, 20, 3) -> 10, 13, 16, 19
print(x)

# range(2, 7, 5) -> 2
# range(1, 8, 4) -> 1, 5
# range(4, 20, 5) -> 4, 9, 14, 19
>> range(0, 10, 2) -> 0, 2, 4, 6, 8   
>> 0
>> 2
>> 4
>> 6
>> 8
>> range(1, 10, 2) -> 1, 3, 5, 7, 9
>> 1
>> 3
>> 5
>> 7
>> 9
>> range(10, 20, 3) -> 10, 13, 16, 19
>> 10
>> 13
>> 16
>> 19