1. Главная
  2. Библиотека
  3. Программирование
  4. Создайте класс Character, который моделирует игрового п...
Разбор задачи

Создайте класс Character, который моделирует игрового персонажа с инвентарем предметов. Класс должен содержать два поля: name — имя персонажа в виде строки, и inventory — словарь, где ключи соответствуют названиям предметов (строки), а значения — их

  • Предмет: Программирование
  • Автор: Кэмп
  • #Основы алгоритмизации и программирования
  • #Языки программирования (C++, Java, Python и др.)
Создайте класс Character, который моделирует игрового персонажа с инвентарем предметов. Класс должен содержать два поля: name — имя персонажа в виде строки, и inventory — словарь, где ключи соответствуют названиям предметов (строки), а значения — их

Условие:

Создайте класс Character, который моделирует игрового персонажа с инвентарем предметов. Класс должен содержать два поля: name — имя персонажа в виде строки, и inventory — словарь, где ключи соответствуют названиям предметов (строки), а значения — их количеству (целые числа).
Реализуйте метод addItem(item, qty=1), который добавляет предмет в инвентарь; если предмет уже присутствует, метод увеличивает его количество на qty.
Кроме того, класс должен поддерживать магические методы: contains(self, item) для проверки наличия предмета через оператор in, length(self) для получения количества различных предметов в инвентаре, getItem(self, item) для доступа к количеству предмета через синтаксис character["меч"] и setItem(self, item, qty) для установки количества предмета через синтаксис character["меч"] = 3.
При попытке получить количество отсутствующего предмета должно выбрасываться исключение KeyError. Методы должны корректно работать с любым количеством предметов, обеспечивая удобный и интуитивный доступ к инвентарю персонажа.

Решение:

Для реализации поставленной задачи мы создадим класс Character, используя стандартные магические методы Python для эмуляции поведения словаря.

Решение

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какой магический метод позволяет использовать оператор `in` для проверки наличия предмета в инвентаре объекта класса `Character`?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет