✧ Словари в Python ✧

📚 Теория: Словари в Python

Словари - как характеристики персонажа в меню атрибутов. Каждому параметру (ключу) соответствует своё значение!

Создание словарей:

# Характеристики персонажа
hutao = {
    "имя": "Ху Тао",
    "элемент": "Пиро",
    "уровень": 90,
    "созвездия": 1
}

# Статы артефакта
artifact = {
    "тип": "Корона мудрости",
    "сет": "Горящая алая ведьма",
    "основной_стат": "Крит урон",
    "доп_статы": {
        "крит_шанс": 3.9,
        "здоровье": 568,
        "мастерство": 40
    }
}

Основные операции:

# Получение значений
element = hutao["элемент"]              # "Пиро"
level = hutao.get("уровень", 1)         # 90 (1 если ключа нет)

# Изменение и добавление
hutao["созвездия"] = 2                  # Изменение значения
hutao["оружие"] = "Посох Хомы"          # Добавление пары

# Удаление
removed_stat = artifact.pop("тип")       # Удаляет и возвращает значение
del hutao["созвездия"]                  # Просто удаляет

Полезные методы:

# Проверка наличия ключа
has_weapon = "оружие" in hutao           # True

# Получение всех ключей и значений 
stats = list(artifact.keys())            # ["тип", "сет", ...]
values = list(artifact.values())         # ["Корона мудрости", ...]

# Обход словаря
for key, value in hutao.items():
    print(f"{key}: {value}")

# Обновление словаря
new_stats = {"талант_А": 9, "талант_Е": 9}
hutao.update(new_stats)                  # Добавляет или обновляет пары

🎯 Задача: Система артефактов

Создайте систему управления артефактами, которая позволит:

Пример артефакта:

{
    "название": "Корона мудрости",
    "редкость": 5,
    "уровень": 20,
    "сет": "Церемония древней знати",
    "тип": "Головной убор",
    "основной_стат": {
        "тип": "Крит шанс",
        "значение": 31.1
    },
    "доп_статы": [
        {"тип": "Крит урон", "значение": 21.8},
        {"тип": "Мастерство", "значение": 40},
        {"тип": "Защита%", "значение": 5.8},
        {"тип": "HP", "значение": 568}
    ]
}

Реализуйте функции для:

💡 Подсказка:

# Приоритетные статы для персонажей
character_priorities = {
    "Ху Тао": ["HP%", "Пиро урон", "Крит шанс", "Крит урон"],
    "Райдэн": ["Восст энергии", "Электро урон", "Крит шанс", "Крит урон"]
}

def calculate_artifact_value(artifact, character):
    value = 0
    priorities = character_priorities[character]
    # Подсчёт ценности на основе приоритетов...
⟵ Списки Множества ⟶