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

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

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

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

Задача«финансовое состояние»

Представьте, что вы программист в небольшой, но амбициозной компании "Вектор Роста". Ваш руководитель, Петр, хочет быстро оценивать финансовое состояние компании по итогам каждого месяца. Ему нужна простая программа, которая бы помогала ему в этом.

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

  • "Компания прибыльная." — если доход строго больше расходов.
  • "Компания убыточная." — если доход строго меньше расходов.
  • "Компания на грани безубыточности." — если доход равен расходам.

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

Формат ввода

Доход компании (целое число)
Расходы компании (целое число)

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

Сообщение о финансовом состоянии компании (строка)

Пример

Ввод

100000
75000

Вывод

Компания прибыльная.

Подсказка

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

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

# Запрашиваем у пользователя расходы и также преобразуем строку в целое число
expenses = int(input())

# Проверяем, если доход строго больше расходов
if income > expenses:
    # Если условие истинно, выводим сообщение о прибыли
    print("Компания прибыльная.")
# Если первое условие ложно, проверяем другое: доход строго меньше расходов
elif income < expenses:
    # Если это условие истинно, выводим сообщение об убытке
    print("Компания убыточная.")
# Если ни одно из предыдущих условий не выполнилось, значит, остался только один вариант: доходы равны расходам
else:
    # Выводим сообщение о безубыточности
    print("Компания на грани безубыточности.")

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

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

AD

Реклама

red-snake blue-snake green-snake

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

Помощник ИИ

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