Статья Автор: Омарбек Нұр-Мұхаммед

Практическая работа

Загрузите данные из файла game.json


Легкий уровень (10 задач) — базовые операции (6 баллов)

  1. Вывести имена всех персонажей

    • Пройтись по списку и вывести только имена

  2. Посчитать общее количество персонажей

    • Использовать len()

  3. Найти всех персонажей определенной расы (например, "Человек")

    • Вывести их имена и классы

  4. Вывести инвентарь конкретного персонажа (например, Артаса)

    • Доступ к вложенному словарю inventory

  5. Подсчитать средний уровень всех персонажей

    • Сумма уровней / количество

  6. Найти персонажей с уровнем выше 80

    • Вывести их имена и уровень

  7. Вывести все классы персонажей (без повторений)

    • Использовать множество (set)

  8. Посчитать общее количество золота у всех персонажей

    • Просуммировать gold из inventory

  9. Найти персонажа с максимальным здоровьем

    • Использовать max() с ключом

  10. Вывести имена и расы персонажей, у которых нет маны (mana = 0)

    • Например, воины без маны


Средний уровень (10 задач) — анализ и агрегация (8 баллов)

  1. Топ-3 персонажа по урону (damage)

    • Отсортировать и вывести тройку лидеров

  2. Сгруппировать персонажей по классам (сколько в каждом классе)

    • Использовать словарь для подсчета

  3. Найти средний уровень для каждого класса

    • Для каждого класса посчитать средний уровень

  4. Вывести персонажей, у которых в инвентаре больше 10 зелий (potions)

    • Фильтрация по полю inventory['potions']

  5. Найти самого опытного персонажа (max quests_completed)

    • Кто выполнил больше всего квестов

  6. Посчитать общее количество убийств в PvP по всем персонажам

    • Сумма всех pvp_kills

  7. Вывести всех персонажей, у которых есть навык "Огненный шар"

    • Проверить наличие строки в списке skills

  8. Найти расу с самым высоким средним здоровьем

    • Сгруппировать по расам и посчитать среднее здоровье

  9. Вывести имена персонажей, у которых урон выше среднего

    • Сначала посчитать средний урон, потом отфильтровать

  10. Создать список всех уникальных навыков (skills)

    • Собрать все навыки в одно множество


Сложный уровень (5 задач) — комплексный анализ (10 баллов)

  1. Найти самого сбалансированного персонажа

    • Определить "сбалансированность" как минимальную разницу между характеристиками (health, mana, damage, armor)

    • Например, использовать стандартное отклонение или сумму квадратов разностей от среднего

  2. Построить рейтинг рас по эффективности в PvP

    • Для каждой расы посчитать среднее количество PvP-убийств

    • Отсортировать расы по убыванию этого показателя

  3. Найти "универсального солдата" — персонажа с наибольшим количеством навыков

    • Просто посчитать длину списка skills у каждого

  4. Вычислить корреляцию между уровнем и количеством завершенных квестов

    • Не обязательно математически строго, можно просто вывести две колонки и предложить визуально оценить

    • Или посчитать, у скольких персонажей с уровнем > 80 квестов тоже > 100

  5. Сформировать отчет по гильдии в виде таблицы

    • Вывести информацию в формате:

Прикрепленные файлы
game.json
Печать