← К задачам
Средне · +3Логика

Совместимость по крови

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

Напиши функцию can_donate(donor, recipient). Группы заданы строками вида 'O-', 'A+', 'B-', 'AB+' (буква(ы) системы AB0 и знак резуса). Верни True, если донор совместим с реципиентом, иначе False.

Правила совместимости:

  • AB0: O даёт всем; A даёт A и AB; B даёт B и AB; AB даёт только AB.
  • Резус: донор с минусом (-) подходит всем по резусу; донор с плюсом (+) подходит только реципиенту с плюсом.

Примеры:

  • can_donate('O-', 'AB+')True (универсальный донор)
  • can_donate('A+', 'A-')False (плюс не подходит минусу)
  • can_donate('AB+', 'A+')False (AB отдаёт только AB)
py
Курс по теме
Пройдите курс «Python с нуля» — по шагам, с проверкой
8 уроков · ~14 ч · теория, упражнения и экзамен с бейджем
Открыть курс →
def can_donate(donor, recipient):
    pass
Здесь появится результат. Напиши решение слева и нажми «Проверить код».
Для запуска тестов необходима авторизация.