Найти - Пользователи
Полная версия: Добрые люди, где ошибка? "NameError: name 'main' is not defined"
Начало » Центр помощи » Добрые люди, где ошибка? "NameError: name 'main' is not defined"
1
Serhii3577
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):
unhappiness = self.hunger + self.boredom
if unhappiness < 5:
m = “prekrasno”
elif 5 <= unhappiness <= 10:
m = “neploho”
elif 11 <= unhappiness <= 15:
m = “ne skazat chtobu xorosho”
else:
m = “uzasno”
return m
def talk(self):
print(“Menia zovut”,self.name,“i seichas ia chuvstv sebia”,self.mood)
self.__pass_time()
def eat(self, food = 4):
print(“Spasibo”)
self.hunger -= food
if self.hunger < 0:
self.hunger = 0
self.__pass_time()
def play(self, fun = 4):
print(“wooow”)
self.boredom -= fun
if self.boredom < 0:
self.boredom = 0
self.__pass_time()
def main():
crit_name = input(“Как вы назовёте свою зверушку? ”)
crit = Critter(crit_name)
choice = None
while choice != “0”:
print (“”“
Моя зверюшка
0-Выйти
1-Узнать о самочувствии зверюшки
2-Покормить зверюшку
3-Поиграть со зверюшкой
”“”)
choice = input(“Ваш выбор: ”)
print()
if choice == “0”:
print(“До свиданья”)
elif choice == “1”:
crit.talk()
elif choice == “2”:
crit.eat()
elif choice == “3”:
crit.play()
else:
print(“Выбачай ничого нема, гиии..”)
main()
input(“\n\nPress Enter,exit”)
marvellik
предпоследняя строка main() это метод класса Critter а вы пытаетесь его вызвать напрямую не создав экземпляр класса. тогда так
Critter.main()
JOHN_16
0) Код на форумах и тп нужно оформлять в специальные теги code
1) у вас функция main на одном урвоне отступов с методами класса, уберите отступ и все заработает
2) посмотрите что такое PEP8 и какие его основные рекомендации по написанию кода
3) освойте какой либо актуальные редактор исходного кода / IDE что бы оно помогало вам в написании кода и не допусканию ошибок
JOHN_16
marvellik
там не метод, а основная функция - внутри которой уже инстацируется класс.
P.S. судя по всему автор топика не автор этого кода
Serhii3577
Всем огромное СПАСИБО, не знал что здесь такая активность в помощи, но я уже сам разобрался.
Есть огромное желание стать профи в веб-программировании, изучаю всё сам, самоучка). Начал изучать ещё давно, потом запустил на время…, в общем сейчас как второй месяц уже учусь по книге Доусона, параллельно учусь также по книге Саммерфилда, а ещё Лутца закачал, но там пока сложнее для меня.Уже знаю не плохо HTML, CSS.
Ещё раз всем спасибо, я здесь буду частенько уже)))
Serhii3577
забыл сказать, я тут впервые и пока не разобрался что тут к чему, за что заранее извиняюсь,буду рад за любые подсказки что к чему и как кому-то репутацию поднять.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB