Skip to content

Instantly share code, notes, and snippets.

@sunmeat
Last active February 10, 2026 11:37
Show Gist options
  • Select an option

  • Save sunmeat/8b2edd2bcbfaf0d586efd58a98dde8bc to your computer and use it in GitHub Desktop.

Select an option

Save sunmeat/8b2edd2bcbfaf0d586efd58a98dde8bc to your computer and use it in GitHub Desktop.
приклад словника в пайтон
# ────────────────────────────────────────────────────────────────────
# персонаж у настолці Манчкін — словник з характеристиками та речами
# ────────────────────────────────────────────────────────────────────
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