# Все возможные фамилии учеников famils = {"Петров", "Сидоров", "Иванов", "Козляков", "Колмокозков", "Дрозников"} # Должники по предметам (заданы вручную) math_fails = {"Иванов", "Козляков"} lang_fails = {"Петров", "Дрозников", "Сидоров"} info_fails = {"Колмокозков", "Иванов", "Петров"} print("=" * 50) print("Анализ должников по предметам") print("=" * 50) # 1) Долги и по математике, и по информатике → пересечение math_and_info = math_fails & info_fails print("1) Должники и по математике, и по информатике:") print(" ", *sorted(math_and_info) if math_and_info else ["—"]) # 2) Должники по всем трём предметам → пересечение всех трёх all_three = math_fails & lang_fails & info_fails print("\n2) Должники по всем трём предметам:") print(" ", *sorted(all_three) if all_three else ["—"]) # 3) У кого ровно один долг only_math = math_fails - lang_fails - info_fails only_lang = lang_fails - math_fails - info_fails only_info = info_fails - math_fails - lang_fails exactly_one = only_math | only_lang | only_info print("\n3) У кого ровно один долг:") print(" ", *sorted(exactly_one) if exactly_one else ["—"]) # 4) Проверка: Сидоров в математике или русском? sidorov_in_math = "Сидоров" in math_fails sidorov_in_lang = "Сидоров" in lang_fails if sidorov_in_math and sidorov_in_lang: sid_res = "Да, и по математике, и по русскому" elif sidorov_in_math: sid_res = "Да, только по математике" elif sidorov_in_lang: sid_res = "Да, только по русскому" else: sid_res = "Нет" print("\n4) Сидоров в должниках по математике или русскому?") print(" ", sid_res) print("=" * 50)