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

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

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

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

Задача«Путешествие в горы»

Алекс — большой любитель горных походов. Он планирует новое восхождение и изучает карту маршрута. Чтобы лучше подготовиться, ему нужно понять, насколько сложным будет подъём на разных участках пути. Сложность подъёма напрямую зависит от его крутизны.

Напишите программу, которая поможет Алексу быстро оценивать участки маршрута. Программа должна запрашивать у пользователя угол наклона тропы в градусах и выводить одну из трёх характеристик:

  • "Крутой подъём", если угол больше 45 градусов.
  • "Умеренный подъём", если угол находится в диапазоне от 20 до 45 градусов (включительно).
  • "Пологий подъём", если угол меньше 20 градусов.

Формат ввода

Угол наклона тропы (целое число).

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

Характеристика подъёма (строка).

Пример

Ввод

33

Вывод

Умеренный подъём

Подсказка

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

Условия в 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
Решение разработчика
angle = int(input()) # Получаем от пользователя угол наклона и преобразуем его в целое число

if angle > 45: # Проверяем, является ли подъем крутым
    print("Крутой подъём")
elif angle >= 20: # Если подъем не крутой, проверяем, не является ли он умеренным. Сюда попадают числа от 20 до 45.
    print("Умеренный подъём")
else: # Если ни одно из предыдущих условий не выполнилось, значит подъем пологий
    print("Пологий подъём")

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

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

AD

Реклама

red-snake blue-snake green-snake

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

Помощник ИИ

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