Last active
February 10, 2026 11:37
-
-
Save sunmeat/8b2edd2bcbfaf0d586efd58a98dde8bc 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
| # ──────────────────────────────────────────────────────────────────── | |
| # персонаж у настолці Манчкін — словник з характеристиками та речами | |
| # ──────────────────────────────────────────────────────────────────── | |
| character = { | |
| "level": 1, | |
| "race": "Людина", # початкова раса | |
| "class": "Воїн", | |
| "gender": "чоловіча", | |
| "equipped": ["Рогатий Шолом", "Короткий Меч"], | |
| "big_items": ["Величезна Камінюка"], | |
| "gold": 500, | |
| "curses": [] | |
| } | |
| # доступ до значень | |
| print(character["class"]) # Воїн | |
| print(character["race"]) # Людина | |
| # безпечний доступ (якщо ключа може не бути) | |
| print(character.get("напівкровка", False)) # False | |
| print(character.get("суперманчкін", None)) # None | |
| # додавання / оновлення | |
| character["level"] += 1 # підняли рівень після перемоги над монстром | |
| character["race"] = "Ельф" # змінили расу | |
| character["equipped"].append("Посох Напалму") # вдягли нову річ | |
| character["curses"].append("Качка") # отримали прокляття | |
| # видалення | |
| del character["big_items"] # викинули величезний камінь | |
| removed_item = character.pop("Короткий Меч", None) # None, якщо речі немає | |
| print(removed_item) # None (вже зняли) | |
| # ─────────────────────────────────────────────────────────────── | |
| # defaultdict — групування елементів за типом | |
| # ─────────────────────────────────────────────────────────────── | |
| from collections import defaultdict # https://docs.python.org/3/library/collections.html#collections.defaultdict | |
| inventory_by_type = defaultdict(list) | |
| items = [ | |
| ("Короткий Меч", "зброя"), | |
| ("Шолом Рогатий", "броня"), | |
| ("Зілля Боягузтва", "одноразове"), | |
| ("Посох Напалму", "зброя"), | |
| ("Бензопила Потужності", "зброя"), | |
| ("Повітряна кулька", "одноразове") | |
| ] | |
| for item_name, item_type in items: | |
| inventory_by_type[item_type].append(item_name) | |
| print("\nінвентар за типом:") | |
| for typ, lst in inventory_by_type.items(): | |
| print(f"{typ}: {lst}") | |
| # ─────────────────────────────────────────────────────────────── | |
| # підрахунок переможених монстрів за рівнем | |
| # ─────────────────────────────────────────────────────────────── | |
| from collections import Counter # https://docs.python.org/3/library/collections.html#collections.Counter | |
| defeated_monsters = [ | |
| "Горщик з Квітами", # рівень 1 | |
| "Великий Злий Півень", # рівень 2 | |
| "Горщик з Квітами", # рівень 1 знову | |
| "Соплевий Елементаль", # рівень 4 | |
| "Горщик з Квітами", # рівень 1 втретє | |
| "Плюшевий Ктулху" # рівень 5 | |
| ] | |
| monster_levels = [1, 2, 1, 4, 1, 5] | |
| level_counter = Counter(monster_levels) | |
| print("\nпідрахунок рівнів переможених монстрів:") | |
| print(level_counter) | |
| print("найчастіші рівні:", level_counter.most_common(2)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment