Этот набор заданий посвящен тернарному оператору в Python. Это мощный инструмент, который позволяет записывать простые условные выражения в одну строку, делая код более компактным и, в некоторых случаях, более читаемым. С его помощью можно заменить громоздкие конструкции if-else на элегантные однострочные решения.
Вы начнете с основ синтаксиса, научитесь правильно расставлять его части, затем перейдете к предсказанию результатов выполнения кода с тернарным оператором. Далее вы будете исправлять ошибки в коде, собирать рабочие выражения из готовых частей и даже сравнивать тернарные операторы с их многострочными аналогами. Задания постепенно усложняются, доходя до вложенных конструкций. Удачи!
- Модуль 1: Основы синтаксиса Python
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Арифметические операторы (+, -, *, /).
- Целочисленное деление и остаток (// и %).
- Возведение в степень (**).
- Операторы сравнения.
- Логические операторы (and, or, not).
- Операторы присваивания (=, +=, -=).
- Операторы принадлежности (in, not in).
- Операторы идентичности (is, is not).
- Битовые операторы.
- Тернарный оператор.
- Модуль 4: Ввод и вывод данных
- Модуль 5: Условные конструкции
- Модуль 6: Циклы
- Модуль 7: Строки
- Модуль 8: Списки
- Модуль 9: Кортежи
- Модуль 10: Словари
- Модуль 11: Множества
- Модуль 12: Функции
- Модуль 13: Встроенные функции
- Модуль 14: Работа с файлами
- Модуль 15: Обработка исключений
- Модуль 16: Модули и пакеты
- Модуль 17: ООП - Основы
- Модуль 18: ООП - Продвинутый уровень
- Модуль 19: Декораторы
- Модуль 20: Генераторы и итераторы
- Модуль 21: Регулярные выражения
- Модуль 22: Дата и время
- Модуль 23: Математические операции
- Модуль 24: Работа с сетью
- Модуль 25: Асинхронное программирование
- Модуль 26: Многопоточность
- Модуль 27: Тестирование
- Модуль 28: Базы данных
- Модуль 29: Алгоритмы и структуры данных
- Модуль 30: Продвинутые возможности
Основы синтаксиса: if и else
Тернарный оператор имеет строгий синтаксис. Заполните пропуски ключевыми словами, чтобы присвоить переменной `status` значение 'Активен' в случае, если `is_active` истинно, и 'Неактивен' в противном случае.
is_active = True
status = 'Активен' input1S is_active input2S 'Неактивен'
print(status)Предскажите результат
Проанализируйте код. Пользователю 21 год. Будет ли ему предоставлен полный доступ? Выберите правильный вариант ответа, который будет содержаться в переменной `access`.
age = 21
access = 'Полный доступ' if age >= 18 else 'Доступ ограничен'
# Что будет в переменной access?Какой будет размер скидки?
В этом коде размер скидки зависит от того, является ли пользователь участником программы лояльности (`is_member`). Посмотрите на значение переменной `is_member` и впишите, какое число будет выведено на экран.
is_member = False
discount = 20 if is_member else 5
print(discount)Исправьте порядок в выражении
В этом коде нарушен порядок частей тернарного оператора, что приводит к синтаксической ошибке. Исправьте строку, расставив все части в правильном порядке.
user_role = 'Admin'permission = 'Granted' else 'Denied' if user_role == 'Admin'Соберите выражение для проверки четности
Перетащите строки кода в правильном порядке, чтобы создать тернарное выражение. Оно должно присваивать переменной `result` строку 'Четное', если `num` делится на 2 без остатка, и 'Нечетное' в ином случае. Две части являются лишними.
"Четное"elsenum % 2 == 0"Нечетное"ifresult =then: Тернарный оператор внутри функции
Тернарный оператор — это выражение, а значит, его результат можно сразу передать в функцию, например `print()`. Впишите в пропуск полное тернарное выражение, которое выведет 'В наличии', если `items_in_stock > 0`, и 'Нет в наличии' в противном случае.
items_in_stock = 5
print(input1S)Сопоставьте тернарный оператор и if-else
Тернарный оператор — это синтаксический сахар для простых конструкций if-else. Сопоставьте каждый тернарный оператор в левой колонке с его полным, многострочным эквивалентом в правой.
text = "Hi" if lang == "en" else "Привет"limit = 100 if is_vip else 10color = "red" if error else "green"if is_vip: limit = 100else: limit = 10if error: color = "red"else: color = "green"if lang == "en": text = "Hi"else: text = "Привет"Соберите выражение из банка токенов
Используя элементы из "банка", соберите выражение. Переменной `can_vote` должно быть присвоено значение `True`, если возраст (`age`) больше или равен 18 И имеется гражданство (`has_citizenship`). В противном случае — `False`.
age = 25
has_citizenship = True
can_vote = input1S input2S age >= 18 and has_citizenship input3S input4SРезультат вложенного оператора
Тернарные операторы можно вкладывать друг в друга, создавая цепочки проверок. Проанализируйте вложенную конструкцию и впишите, какая оценка (`grade`) будет выведена на экран для `score = 85`.
score = 85
grade = 'A' if score >= 90 else 'B' if score >= 80 else 'C'
print(grade)Найдите оператор-самозванец
В этом коде допущена одна из самых частых ошибок новичков: вместо оператора сравнения используется оператор присваивания. Это приводит к ошибке `SyntaxError`. Найдите и исправьте эту ошибку.
num = 10message = "Равно 10" if num = 10 else "Не равно 10"