Вход в кинозал
★☆☆базоваяНа сеанс пускают зрителей от 18 лет с билетом. Пользователь вводит возраст и отвечает, есть ли у него билет: да или нет. Выведите результат каждой проверки и общий ответ: можно ли войти.
Как рассуждаем
- Проверок две: возраст не меньше 18 и билет есть. Каждую сохраняем в свою переменную.
- Ответ про билет приходит строкой. Сравнение
answer == "да"превращает его в логическое значение. - Войти можно, когда выполнены обе проверки, — значит, соединяем их через
and.
# Ввод age = int(input("Возраст: ")) answer = input("Билет есть (да/нет): ") # Проверки is_adult = age >= 18 has_ticket = answer == "да" # Вывод print("Совершеннолетний:", is_adult) print("Билет есть:", has_ticket) print("Можно войти:", is_adult and has_ticket)
Возраст: 20 Билет есть (да/нет): да Совершеннолетний: True Билет есть: True Можно войти: True
Проверка на других данных
16 да
Совершеннолетний: False Билет есть: True Можно войти: False
30 нет
Совершеннолетний: True Билет есть: False Можно войти: False
Функция bool() считает ложью только пустую строку. Строка "нет" не пустая, поэтому bool("нет") — это True. Чтобы получить логическое значение из ответа, строку сравнивают с ожидаемым словом: answer == "да".
Последнюю строку можно записать как age >= 18 and answer == "да". Результат тот же, но запись is_adult and has_ticket читается без расшифровки чисел и строк.