Программирование

Управление потоком: 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")

Автор: Nibras Code