Условия и циклы

Оформление блоков операторов

Одной из главных особенностей Python является использование пробелов для оформления блоков операторов:

Си-подобный язык:

if (a > 0){
b = 2;
c = 7;
}

Python:

if a > 0:
    b = 2
    c = 7

Условный оператор if

Синтаксис:

if 〖логическое выражение〗:
␣␣␣␣〖оператор〗
else:
␣␣␣␣〖оператор〗

Примеры:

if a > 0:
    b = 2
else:
    b = 3
    print(b)
if a > 0:
    if c > 0:
        print("a > 0 и c > 0")
if a > 0 and c > 0:
    print("a > 0 и c > 0")
if a > 0:
    print("a > 0")
elif a >= -2:
    print("a >= -2")
else:
    print("a < -2")

Простой цикл while

Синтаксис:

while 〖оператор〗:
␣␣␣␣〖оператор〗
␣␣␣␣〖оператор〗

Примеры:

x = 5
while x > 0:
    print(x)
    x = x - 1

В цикле можно использовать ключевые слова:

break — немедленно выйти из цикла continue — немедленно перейти в начало цикла

x = 5
while True:
    print(x)
    if x < 0:
        break
    x = x - 1

Итерационный цикл for

Итерационные цикл for используется для обхода элементов последовательностей.

Синтаксис:

for 〖переменная〗in 〖итератор〗:
␣␣␣␣〖оператор〗
␣␣␣␣〖оператор〗

Примеры:

x = "привет"
for char in x:
    print(x)

Некоторые полезные итераторы:

  • Элемент с индексом: for index, elem in enumerate(seq):
  • Целые числа по порядку: for i in range(start, stop, step):
  • Синхронный обход списков: for elem1, elem2, elem3 in zip(seq1, seq2, seq3):
  • Полное декартово произведение: for elem1, elem2 in itertools.product(seq1, seq2):