Created
February 13, 2026 10:42
-
-
Save sunmeat/739770123c72781a9eb18fc9bb407cca to your computer and use it in GitHub Desktop.
приклад на множини в пайтон
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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