Управление потоком: if, while, for
Условия и циклы, break и continue.
Все уроки · Уроки Python: учимся с нуля
if / elif / else
if позволяет программе принимать решения. Если условие истинно, выполняется блок с отступом. Для нескольких случаев используйте elif, для всего остального — else; выполняется только первая истинная ветка.
score = 73
if score >= 90:
grade = "A"
elif score >= 70:
grade = "B"
elif score >= 50:
grade = "C"
else:
grade = "F"
print(grade) # BПустая строка, 0, пустой список и None в условии считаются «ложью», остальное — «истиной». Это позволяет писать короткие проверки вроде if items:.
Цикл while
while повторяет блок, пока условие истинно. Внутри что-то должно менять условие, иначе цикл бесконечен. break сразу прерывает цикл, а continue переходит к следующему витку.
balance = 100
years = 0
while balance < 200:
balance *= 1.07 # +7% per year
years += 1
print(years, round(balance, 2))Цикл for и range()
for по очереди берёт каждый элемент последовательности. Если нужно заданное число повторов, используйте range(): range(5) даёт 0…4, а range(2, 8, 2) — 2, 4, 6.
for fruit in ["apple", "plum", "fig"]:
print(fruit.upper())
for i in range(1, 4):
print(i, "squared is", i * i)
for idx, ch in enumerate("abc"):
print(idx, ch)Циклы можно вкладывать друг в друга. Блок else у for выполняется, только если цикл завершился без break, — удобно в задачах поиска.
for n in range(2, 20):
for d in range(2, n):
if n % d == 0:
break
else:
print(n, "is prime")