Skip to content

Instantly share code, notes, and snippets.

@sunmeat
Created February 13, 2026 10:42
Show Gist options
  • Select an option

  • Save sunmeat/739770123c72781a9eb18fc9bb407cca to your computer and use it in GitHub Desktop.

Select an option

Save sunmeat/739770123c72781a9eb18fc9bb407cca to your computer and use it in GitHub Desktop.
приклад на множини в пайтон
print("1. Множина імператорів з найяскравішими характерами")
emperors = {
"Гай Юлій Цезар Октавіан Август",
"Тиберій Клавдій Нерон",
"Гай Юлій Цезар Август Германік (Калігула)",
"Нерон Клавдій Цезар Август Германік",
"Марк Аврелій Коммод Антонін",
"Марк Аврелій Север Антонін Бассіан (Каракалла)",
"Гай Аврелій Антонін Геліогабал",
"Публій Елій Траян Адріан",
"Марк Ульпій Траян",
"Тит Флавій Веспасіан"
}
for emp in sorted(emperors):
print(" - ", emp)
print("Всього імператорів:", len(emperors), "\n")
# 2. об'єднання - імператори з репутацією божевільних або ексцентричних
print("2. Об'єднання - імператори, яких вважають божевільними або дуже дивними")
mad_emperors = {
"Гай Юлій Цезар Август Германік (Калігула)",
"Нерон Клавдій Цезар Август Германік",
"Марк Аврелій Коммод Антонін",
"Гай Аврелій Антонін Геліогабал"
}
# додавання елемента в множину
eccentric_emperors = mad_emperors | {"Марк Аврелій Север Антонін Бассіан (Каракалла)"}
# альтернативно, eccentric_emperors = mad_emperors.union({"Марк Аврелій Север Антонін Бассіан (Каракалла)"})
# але, виклик метода працює повільніше (бо метод ще треба викликати та прив'язати self)
print("Дуже дивні або божевільні імператори:")
for emp in sorted(eccentric_emperors):
print(" - ", emp)
print("Всього:", len(eccentric_emperors), "\n")
# 3. перетин - хто і божевільний, і жорстокий тиран
print("3. Перетин - імператори, які точно і божевільні, і тирани")
tyrants = {
"Нерон Клавдій Цезар Август Германік",
"Гай Юлій Цезар Август Германік (Калігула)",
"Марк Аврелій Север Антонін Бассіан (Каракалла)",
"Марк Аврелій Коммод Антонін"
}
both_mad_and_tyrants = mad_emperors & tyrants # .intersection()
print("Імператори і божевільні, і жорстокі тирани:")
for emp in sorted(both_mad_and_tyrants):
print(" - ", emp)
print("Спільні:", len(both_mad_and_tyrants), "\n")
# 4. різниця - дивні, але не повні психопати
print("4. Різниця - ексцентричні, але не настільки божевільні")
eccentric_but_not_mad = eccentric_emperors - mad_emperors # .difference()
print("Ексцентричні, але не повні психопати:")
for emp in sorted(eccentric_but_not_mad):
print(" - ", emp)
print()
# 5. порожня множина - коли нічого спільного
print("5. Порожня множина - коли немає нічого спільного")
peaceful_emperors = {"Антонін Пій", "Марк Аврелій Антонін Август"}
mad_group = {
"Гай Юлій Цезар Август Германік (Калігула)",
"Нерон Клавдій Цезар Август Германік",
"Гай Аврелій Антонін Геліогабал"
}
no_overlap = peaceful_emperors & mad_group
print("Мирні імператори, які були божевільними:")
print(no_overlap, " - порожня множина\n")
# 6. підмножина - чи одна група повністю входить в іншу
print("6. Підмножина - чи всі 'божевільні' входять у групу 'тирани'?")
print("Чи є всі божевільні - тиранами?")
print(mad_emperors <= tyrants) # False
print("\nЧи є 'і те й інше' підмножиною всіх божевільних?")
print(both_mad_and_tyrants <= mad_emperors) # True
print("\nЧи рівні ці дві множини?")
print(mad_emperors == tyrants) # False
print()
print("Найцікавіші факти про імператорів")
facts = {
"Гай Юлій Цезар Октавіан Август": {
"знайшов Рим, побудований з цегли; залишив його одягненим у мармур",
"перший імператор",
"найдовше правління серед ранніх принцепсів"
},
"Гай Юлій Цезар Август Германік (Калігула)": {
"хотів зробити коня сенатором",
"оголосив війну богу Нептуну"
},
"Нерон Клавдій Цезар Август Германік": {
"грав на лірі під час пожежі",
"перевдягався та виступав як актор"
},
"Марк Аврелій Коммод Антонін": {
"бився на арені як гладіатор",
"вважав себе втіленням Геркулеса",
"перейменовував місяці на свою честь"
},
"Марк Аврелій Север Антонін Бассіан (Каракалла)": {
"надав римське громадянство майже всім вільним жителям імперії",
"знищив ціле місто за непокору"
},
"Гай Аврелій Антонін Геліогабал": {
"привіз до Риму сирійського бога Елагабала",
"проводив найдивніші релігійні церемонії"
}
}
print("Декілька шокуючих фактів про Калігулу:")
for fact in sorted(facts["Гай Юлій Цезар Август Германік (Калігула)"]):
print(" - ", fact)
print("\nФакти, спільні для Нерона та Калігули:")
common_facts = facts["Нерон Клавдій Цезар Август Германік"] & facts["Гай Юлій Цезар Август Германік (Калігула)"]
for fact in sorted(common_facts):
print(" - ", fact)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment