• 1
    Ввод и вывод данных
    • Задачи
  • 2
    Условия
    • Задачи
  • 3
    Цикл for
    • Задачи
  • 4
    Строки
    • Задачи
  • 5
    Цикл while
    • Задачи
  • 6
    Списки
    • Задачи
  • 7
    Двумерные массивы
    • Задачи
  • 8
    Словари
    • Задачи
  • 9
    Множества
    • Задачи
  • 10
    Функции и рекурсия
    • Задачи
  • к

Занятие 2. Условия

Уровень сложности:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

Задача«Парк аттракционов»

Представьте, что вы работаете программистом в парке аттракционов "Весёлый мир". Ваша задача — написать программу, которая помогает кассиру определить, в какую возрастную зону направить посетителя.

В парке действуют следующие правила распределения по зонам:

  • От 0 до 12 лет (включительно) — Детская зона
  • От 13 до 17 лет (включительно) — Подростковая зона
  • От 18 до 64 лет (включительно) — Взрослая зона
  • 65 лет и старше — Зона для пожилых

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

Формат ввода

Возраст посетителя (целое положительное число).

Формат Вывода

Название зоны парка аттракционов (строка).

Пример

Ввод

15

Вывод

Подростковая зона

Подсказка

Условия в Питоне

Условия в Python позволяют программе принимать решения на основе проверки истинности логических выражений. Представьте, что ваша программа дошла до развилки на дороге: в зависимости от того, куда нужно идти, она выберет один из путей. Это и есть один из фундаментальных элементов программирования, который позволяет выполнять разные части кода в зависимости от различных обстоятельств. В Python для создания таких "развилок" используются операторы if, elif и else.

Синтаксис

Условия в Python определяются с помощью ключевых слов if, elif и else. Эти операторы позволяют выполнять блоки кода в зависимости от того, истинно или ложно проверяемое выражение.

ВАЖНО! После самого условия (if условие: или elif условие:) и после else всегда ставится двоеточие (:).

if условие:
    # блок кода, который выполнится, если условие истинно
else:
    # другой блок кода, который выполнится, если условие ложно

Отступы в Python — это не просто красота, это часть синтаксиса! В отличие от многих других языков, где для группировки кода используются фигурные скобки {}, в Python для этого служат отступы (обычно 4 пробела). Именно отступ показывает, какие строки кода относятся к if, а какие к else. Все строки внутри одного блока должны иметь одинаковый отступ.

Полезный совет: Самая частая ошибка новичков — смешивание пробелов и символов табуляции для создания отступов. Это может привести к ошибке IndentationError. Настройте ваш редактор кода так, чтобы он автоматически заменял табуляцию на 4 пробела.

x = 10
if x > 5:
    print("x больше 5")  # Этот код находится внутри блока if, он выполнится.
    y = x - 5          # И эта строка тоже внутри блока if.
    # Вложенное условие: проверка внутри проверки
    if y < 3:
        # У этой строки отступ еще больше, она принадлежит вложенному if.
        print("y меньше 3")  
else:
    # Этот код выполнится, только если условие 'x > 5' ложно.
    print("x не больше 5") 

Основные операторы условий

  1. if: Выполняет блок кода, если его условие истинно (True). Это "главная" проверка.
  2. elif: (сокращение от "else if") Проверяет свое условие, только если все предыдущие проверки if и elif оказались ложными.
  3. else: Выполняет свой блок кода, если все без исключения предыдущие условия (if и все elif) оказались ложными. Блок else является необязательным.

Давайте рассмотрим на примерах.

x = 10
if x > 5: # Условие 10 > 5 истинно (True).
    print("x больше 5") # Этот код выполнится.

Теперь связка с else. Выполняется только один из блоков: либо if, либо else.

x = 3
if x > 5: # Условие 3 > 5 ложно (False).
    print("x больше 5") # Этот блок будет пропущен.
else:
    print("x не больше 5") # Программа перейдет сюда и выполнит этот код.

Оператор elif позволяет проверять несколько условий подряд. Блоков elif может быть сколько угодно. Как только один из них окажется истинным, вся конструкция завершится.

x = 5
if x > 5: # Условие 5 > 5 ложно (False).
    print("x больше 5")
elif x == 5: # Условие 5 == 5 истинно (True).
    print("x равно 5") # Этот блок выполнится, и проверка закончится.
else: # Сюда программа даже не заглянет, так как условие в elif уже выполнилось.
    print("x меньше 5")

Полезный совет: Порядок elif имеет значение! Python проверяет их сверху вниз. Размещайте более конкретные и строгие проверки выше, а более общие — ниже.

Операторы сравнения

Операторы сравнения используются внутри условий для сравнения двух значений. Результатом их работы всегда является логическое значение: True (истина) или False (ложь).

  • == Равно
  • != Не равно
  • > Больше
  • < Меньше
  • >= Больше или равно
  • <= Меньше или равно

Полезный совет: Не путайте оператор сравнения == с оператором присваивания =! Одна из самых распространенных ошибок. x = 5 — это "положить значение 5 в переменную x". x == 5 — это "спросить, равно ли значение в x пяти?".

x = 10
b = 17
c = 0
print(x > 9)    # True
print(b <= 17)  # True
print(c != 1)   # True
print(x < 110)  # True
print(b == 17)  # True
print(c >= -10) # True

Проверка на принадлежность диапазону (цепочки сравнений)

Если вам нужно проверить, попадает ли число в определенный диапазон, Python позволяет делать это очень изящно с помощью "цепочек сравнений".

a = 17
# Проверяем, что 'a' находится в диапазоне от 10 до 100 включительно.
print(10 <= a <= 100) # True

Это более читаемая и "питоничная" запись, чем a >= 10 and a <= 100.

# Можно строить и более сложные цепочки.
# Эта запись проверяет, что 200 > 17 И 17 < 100.
print(200 > a < 100) # True

Логические операторы: and, or, not

Часто нужно проверить не одно, а сразу несколько условий. Для этого используются логические операторы.

  • and (логическое "И"): Возвращает True, только если оба условия истинны.
  • or (логическое "ИЛИ"): Возвращает True, если хотя бы одно из условий истинно.
  • not (логическое "НЕ"): Инвертирует логическое значение (меняет True на False и наоборот).
age = 25
has_license = True

# Чтобы водить машину, нужно быть старше 18 И иметь права.
if age >= 18 and has_license == True:
    print("Можно садиться за руль")

temperature = -5
is_weekend = True

# Пойдем гулять, если на улице тепло ИЛИ сегодня выходной.
if temperature > 0 or is_weekend == True:
    print("Отличный день для прогулки!")
main.py
Тест 1
Тест 2
Тест 3
Тест 4
Тест 5
Тест 6
Тест 7
Тест 8
Тест 9
Тест 10
Решение разработчика
# Запрашиваем возраст у пользователя. input() всегда возвращает строку.
age_str = input()

# Преобразуем полученную строку в целое число, чтобы с ним можно было проводить математические сравнения.
age = int(age_str)

# Проверяем, входит ли возраст в диапазон детской зоны (от 0 до 12 лет).
if age >= 0 and age <= 12:
    # Если условие истинно, выводим название соответствующей зоны.
    print("Детская зона")
# Если первое условие ложно, проверяем, входит ли возраст в диапазон подростковой зоны (от 13 до 17 лет).
elif age >= 13 and age <= 17:
    # Если это условие истинно, выводим название этой зоны.
    print("Подростковая зона")
# Если и предыдущие условия ложны, проверяем диапазон взрослой зоны (от 18 до 64 лет).
elif age >= 18 and age <= 64:
    # Если это условие истинно, выводим название взрослой зоны.
    print("Взрослая зона")
# Если ни одно из вышеперечисленных условий не выполнилось, значит, возраст 65 лет или больше.
else:
    # Выводим название последней возможной зоны.
    print("Зона для пожилых")

🎉 Поздравляем! 🎉

Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.

AD

Реклама

red-snake blue-snake green-snake

Запускаем ваш код...

Помощник ИИ

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