Python - Управление потоком

Привет, будущие профи Python! Сегодня мы погружаемся в захватывающий мир управления потоком в Python. Представьте управление потоком как светофоры в программировании - они направляют поток вашего кода, указывая ему когда идти, останавливаться или брать дорогу обратно. Давайте начнем!

Python - Control Flow

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

Представьте себе, что вы находитесь в магазине мороженого. Вам нужно решить: шоколад или ваниль? Это именно то, что делают условные операторы в Python - они помогают вашей программе делать выбор.

Оператор 'if'

Оператор 'if' - это самая простая форма принятия решений. Вот как он работает:

ice_cream_flavor = "chocolate"

if ice_cream_flavor == "chocolate":
print("Ммм! Шоколад - мой любимый!")

В этом примере, если ice_cream_flavor равен "chocolate", будет выведено сообщение. Если нет, ничего не произойдет.

Оператор 'if-else'

Но что делать, если мы хотим выполнить что-то, когда условие не выполняется? Вот тут помогает 'else':

age = 15

if age >= 18:
print("Вы можете голосовать!")
else:
print("Извините, вам еще молодо для голосования.")

Здесь, если возраст 18 или старше, будет выведено "Вы можете голосовать!". В противном случае будет выведено другое сообщение.

Оператор 'if-elif-else'

Иногда нам нужно проверить несколько условий. Вот тут полезен 'elif' (сокращение от 'else if'):

score = 85

if score >= 90:
print("А")
elif score >= 80:
print("Б")
elif score >= 70:
print("В")
else:
print("Нужно улучшить")

Этот код проверяет оценку и выводит соответствующую оценку.

Циклы или операторы итерации

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

Цикл 'for'

Цикл 'for' отлично подходит, когда вы знаете, сколько раз вы хотите повторить что-то:

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
print(f"Мне нравится {fruit}!")

Этот цикл выведет "Мне нравится [fruit]!" для каждого фрукта в списке.

Цикл 'while'

Цикл 'while' продолжает работать до тех пор, пока условие истинно:

count = 0

while count < 5:
print(f"Счет равен {count}")
count += 1

Это выведет счет от 0 до 4.

Операторы перехода

Операторы перехода - это как секретные проходы в видеоигре - они позволяют вам пропускать части вашего кода или рано выходить из циклов.

Оператор 'break'

'break' позволяет вам немедленно выйти из цикла:

for i in range(10):
if i == 5:
print("Нашел 5! Выход из цикла.")
break
print(i)

Это выведет числа от 0 до 4, а затем выйдет, когда найдет 5.

Оператор 'continue'

'continue' пропускает оставшуюся часть текущей итерации и переходит к следующей:

for i in range(5):
if i == 2:
print("Пропускаю 2")
continue
print(i)

Это выведет все числа от 0 до 4, кроме 2.

Оператор 'pass'

'pass' - это как местоодержатель. Он ничего не делает, но полезен, когда вам нужны пустые блоки кода:

for i in range(5):
if i == 2:
pass  # TODO: Добавить особое обработание для 2
else:
print(i)

Это выведет все числа, кроме 2, где ничего не произойдет (пока).

Подведение итогов

Теперь объединим эти концепции в забавную маленькую игру:

import random

secret_number = random.randint(1, 10)
attempts = 0

while True:
guess = int(input("Попробуйте угадать число (1-10): "))
attempts += 1

if guess < secret_number:
print("Слишком мало!")
elif guess > secret_number:
print("Слишком много!")
else:
print(f"Вы угадали за {attempts} попыток!")
break

if attempts == 3:
print(f"Извините, у вас закончились попытки. Число было {secret_number}.")
break

Эта игра использует цикл while, операторы if-elif-else и оператор break, чтобы создать игру в угадайку числа. Это отличный пример того, как управление потоком может создавать интерактивные программы!

Резюме

Вот быстрый справочник по операторам управления потоком, которые мы рассмотрели:

Оператор Назначение
if Принять решение на основе условия
if-else Выбрать между двумя вариантами
if-elif-else Выбрать между несколькими вариантами
for Повторить код определенное количество раз
while Повторять код пока условие истинно
break Рано выйти из цикла
continue Пропустить до следующей итерации цикла
pass Ничего не делать (местоодержатель)

Помните, что мастерство управления потоком - это как обучение дирижированию оркестром - оно дает вам силу создавать сложные, красивые программы из простых инструкций. Постарайтесь и скоро вы будете писать симфонии на Python!

Credits: Image by storyset