Files
210/1
2025-10-02 12:19:30 +05:00

48 lines
2.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Все возможные фамилии учеников
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)