|
4 / 1 / 1
Регистрация: 24.10.2013
Сообщений: 91
|
||||||
Первые шаги в ООП, пара ошибок22.10.2015, 18:37. Показов 3126. Ответов 6
Метки нет (Все метки)
Вот задание: Напишите программу «Зооферма», в которой будет создано несколько объектов класса Critter, а манипулировать
ими всеми можно будет с помощью списка. Теперь пользователь должен заботиться не об одной зверюшке, а обо всех обитателях зоофермы. Выбирая пункт в меню, пользователь выбирает действие, которое хотел бы выполнить со всеми зверюшками: покормить их, поиграть с ними или узнать об их самочувствии. Чтобы программа была интереснее, при создании каждой зверюшки следует назначать ей случайно выбранные уровни голода и уныния.
Недавно только начал изучать ООП и у меня такие вопросы: 1. Мне надо сделать функцию создания зверька, поэтому подскажите мне мне правильно организовать инкапсуляцию с 58 по 68 строки. Там будет функция показа имен зверюшек и ещё не созданная функция появления зверька. 2. Если запрашиваю имя и самочувствие зверька мне пишет, что: Привет меня зовут "как то там" и я чувствую себя <function Critter.mood at 0x0054EB70> . Как в нормальной форме вывести самочувствие?) 3. Если хочу покормить вылетает ошибка: Traceback (most recent call last): File "D:\workspace eclipse\Программные объекты\TVobject.py", line 90, in <module> Critter.eat() TypeError: eat() missing 1 required positional argument: 'hunger' Если хочу поиграть вылетает ошибка: Traceback (most recent call last): File "D:\workspace eclipse\Программные объекты\TVobject.py", line 93, in <module> Critter.play() TypeError: play() missing 1 required positional argument: 'boredom' Подскажите пожалуйста как решить это.
0
|
||||||
| 22.10.2015, 18:37 | |
|
Ответы с готовыми решениями:
6
Первые шаги в ООП ООП, первые шаги Первые шаги с ATMEGA8-16PU, и первые ссадины |
|
4 / 1 / 1
Регистрация: 24.10.2013
Сообщений: 91
|
|
| 22.10.2015, 19:52 [ТС] | |
|
Спасибо! Это помогло.
Добавлено через 9 минут Это помогло.НО. Я в этом моменте сомневаюсь просто немного. Мне же по сути надо, чтобы mood применялся именно к классу, а не объекту, поэтому я делаю его как статический метод с помощью @staticmethod. Значит, методу незачем передавать ссылку(self) на объект и параметр для сохранения такой ссылки, теряет смысл. А у меня получается тогда противоречие в коде. Без применения self он не работает ![]() Помогите пожалуйста разобраться! А то зверушка чувствует себя ужасно, а я не могу её покормить
0
|
|
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
| 22.10.2015, 21:12 | |
|
oks1d, Там дело вообще даже близко не в self.
У тебя метода и eat и play есть обязательный аргумент, а ты ничего не предаёшь в эти функции отсюда и ошибка. Тут дело даже близно не в ООП, ты банально не передаёшь в функцию требуемые аргументы и все.
0
|
|
| 22.10.2015, 21:17 | ||
|
0
|
||
|
4 / 1 / 1
Регистрация: 24.10.2013
Сообщений: 91
|
||||||
| 22.10.2015, 21:22 [ТС] | ||||||
|
Совсем не заметил(,
Вот передал
NameError: name 'hunger' is not defined
0
|
||||||
| 22.10.2015, 21:26 | ||
|
Вызывай тогда Critter.eat(Critter.hunger)
0
|
||
| 22.10.2015, 21:26 | |
|
Помогаю со студенческими работами здесь
7
Первые шаги первые шаги Первые шаги Первые шаги Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|