Нужно задать discount без лишней вложенности: если country == 'RU' и is_premium истина → 10%; если country == 'RU' и не premium → 0; иначе → 5%. Какой вариант логики if/elif/else корректен?

Aif country == 'RU' and is_premium → 10%; elif country == 'RU' → 0; else → 5%
Bif country == 'RU' → 0; elif country == 'RU' and is_premium → 10%; else → 5%
Cif country != 'RU' → 5%; elif is_premium → 0; else → 10%
Dif country == 'RU' or is_premium → 10%; else → 5%
Правильный ответ. Сначала ставьте более специфичное условие (country и is_premium вместе), затем более общее (country == 'RU').

Разбор

Если начать с if country == 'RU', то премиальные пользователи из RU попадут в эту ветку и до проверки is_premium дело не дойдёт. Поэтому комбинированное условие country == 'RU' and is_premium должно идти первым, а затем можно отдельно обработать оставшийся случай country == 'RU'.

Проверь себя · 1/3разбор после ответа
Нужно пройти по дням 1..7 включительно. Какой вызов range() даст именно эти значения?
Тренировать Python в Telegram

Ещё вопросы по теме «Циклы и условия»