1
This commit is contained in:
48
1
Normal file
48
1
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# Все возможные фамилии учеников
|
||||||
|
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)
|
||||||
Reference in New Issue
Block a user