Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/16: Рейтинг темы: голосов - 16, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 17.07.2016
Сообщений: 3

Помогите разобраться с кодом(ошибка: отсутствует параметр у объекта)

17.07.2016, 13:28. Показов 3474. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые форумчане! Пожалуйста, помогите разобраться с кодом:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
class Critter(object):   
 
    def _init_(self, name, hunger = 0, boredom = 0):
        self.name=name  
        self.hunger=hunger
        self.boredom=boredom
 
    def __pass_time(self):
        self.hunger+=1
        self.boredom+=1
 
    @property
    def mood(self):
        unhappy = self.hunger+self.boredom
        if unhappy<5:
            m = 'прекрасно'
        elif 5<=unhappy<=10:
            m = 'неплохо'
        elif 11<=unhappy<=15:
            m = 'не очень хорошо'
        else:
            m = 'ужасно'
        return m
    
    def talk(self):
        print('Привет. Меня зовут ', self.name,' и сейчас я чувствую себя ', self.mood, ' сейчас.\n')
        self.__pass_time()
    
    def eat(self, food=4):
        print('Мрр... Спасибо!')
        self.hunger-= food
        if self.hunger<0:
            self.hunger = 0
        self.__pass_time()
 
    def play(self, fun):
        print('Юххууу!!!')
        self.boredom-=fun
        if self.boredom<0:
            self.boredom=0
        self.__pass_time()
 
def main():
    crit = Critter('Мурзик')
    choice = None   
    while choice != '0':
        print('''
    Моя зверюшка:
0 - Выход
1 - Узнать о самочувствии зверюшки
2 - Покормить зверюшку
3 - Поиграть со зверюшкой
''')
    print('Ваш выбор: ', end=' ')
    choice = input()
    if choice =='0':
        print('До свидания!')
    elif choice == '1':
         crit.talk()
    elif choice == '2':
        crit.eat()
    elif choice == '3':
        crit.play()
    else:
        print('Извините, в меню нет пункта ',choice)
        print('\nДля вызова меню жмите Enter.')
main()
Ошибок быть не должно, т.к. внимательно переписывал из книги Майкла Доусона "Программируем на Питон 3", но в консоли выскакивает ошибка:
Миниатюры
Помогите разобраться с кодом(ошибка: отсутствует параметр у объекта)  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.07.2016, 13:28
Ответы с готовыми решениями:

Помогите разобраться с кодом
Здраствуйте, уважаемие учасники форума! Не знаю в чем проблема, но задолбался я уже... Имееться следующий код, который должен выполняться...

Помогите Разобраться С Кодом
В общем я в этой сфере совсем недавно, так что я многого не знаю :D Мне нужно чтобы в wordе прописывались реквизиты контрагента. Решил...

Помогите с кодом разобраться
Всем привет. Подскажите, где ошибся? Код в контроллер заливается, но с предупреждением &quot;integer conversion resulted in...

5
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
17.07.2016, 13:43
В __init__ подчёркиваний не хватает.
0
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
17.07.2016, 14:34
цикл while строки с 54 до 66 сместить в тело цикла( еще на один отступ Tab) а пока у тебя бесконечный цикл с выводом меню но без возможности выбора так как choice = input() не в теле цикла
0
0 / 0 / 0
Регистрация: 17.07.2016
Сообщений: 3
17.07.2016, 18:57  [ТС]
С телом цикла ошибся, не заметил. Но проблема в том, что не определяется объект класса Critter( задано имя, но выскакивает ошибка). Как это решить???
0
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
17.07.2016, 21:18
Лучший ответ Сообщение было отмечено Wabim Zadolotny как решение

Решение

Python
1
2
3
4
5
6
   def play(self, fun ):
        print('Юххууу!!!')
        self.boredom = fun
        if self.boredom<0:
            self.boredom=0
        self.__pass_time()
откуда взялся параметр fun? он же не инициализирован. вот так работает но наверно не совсем как надо. я так понимаю это значения этого параметра меняется самочувствие зверушки
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
class Critter(object):   
 
    def __init__(self, name, hunger = 0, boredom = 0):
        self.name=name  
        self.hunger=hunger
        self.boredom=boredom
 
    def __pass_time(self):
        self.hunger+=1
        self.boredom+=1
 
    @property
    def mood(self):
        unhappy = self.hunger+self.boredom
        if unhappy<5:
            m = 'прекрасно'
        elif 5<=unhappy<=10:
            m = 'неплохо'
        elif 11<=unhappy<=15:
            m = 'не очень хорошо'
        else:
            m = 'ужасно'
        return m
    
    def talk(self):
        print('Привет. Меня зовут ', self.name,' и сейчас я чувствую себя ', self.mood, ' сейчас.\n')
        self.__pass_time()
    
    def eat(self, food=4):
        print('Мрр... Спасибо!')
        self.hunger = food
        if self.hunger<0:
            self.hunger = 0
        self.__pass_time()
 
    def play(self, fun = 0 ):
        print('Юххууу!!!')
        self.boredom = fun
        if self.boredom<0:
            self.boredom=0
        self.__pass_time()
 
def main():
    crit = Critter('Мурзик')
    choice = None   
    while choice != '0':
        print('''
    Моя зверюшка:
0 - Выход
1 - Узнать о самочувствии зверюшки
2 - Покормить зверюшку
3 - Поиграть со зверюшкой
''')
        print('Ваш выбор: ', end=' ')
        choice = input()
        if choice =='0':
            print('До свидания!')
        elif choice == '1':
             crit.talk()
        elif choice == '2':
            crit.eat()
        elif choice == '3':
            crit.play()
        else:
            print('Извините, в меню нет пункта ',choice)
            print('\nДля вызова меню жмите Enter.')
main()
1
0 / 0 / 0
Регистрация: 17.07.2016
Сообщений: 3
17.07.2016, 21:51  [ТС]
Спасибо огромное за корректный код! Никак не мог понять в чем ошибка))) БЛАГОДАРЮ!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.07.2016, 21:51
Помогаю со студенческими работами здесь

Помогите разобраться с кодом.
Здравствуйте. Я написал код, который обрабатывает кнопки с пульта ДУ сэмулировал всё в Аврстудио (имитировал сигналы прогой...

Помогите разобраться с кодом
Поймите меня правильно! Мне реально больше не у кого спросить и негде прочитать! Купил уже около 10 книг по Visual Basic но на этот вопрос...

Помогите разобраться с кодом
Есть прога: .model tiny ;буддем создавать com-файл .186 ;чтобы можно было было использовать команды shr ax,4 ...

Помогите разобраться с кодом
Здравствуйте программисты :). Помогите разобраться в приведенной ниже часте кода. Объясню вкратце суть программы. Ето некий...

Помогите разобраться с кодом
Код - проверка ввода данных. Если вводиться &quot;x6x&quot;, то вызывается исключение, правильным вводом являются только символы, например:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru