我的大部分程序都已完成,但是我一直收到错误,似乎无法弄清楚为什么会这样做。我也试过animal_list = Zoo.Zoo()
line 43, in addAnimal
animal_list = Zoo()
TypeError: 'module' object is not callable
这是我的一些程序
import Animal
import Zoo
def main():
#set user choice
choice = 0
while choice != "3":
display_menu()
#get user's choice
choice = str(input("What would you like to do? "))
#Perform selected choice
if choice.isalpha():
print("Please enter a numeical value")
elif choice == "1":
addAnimal()
和
#Add animal to list
def addAnimal():
atype = input("What type of animal would you like to create? ")
aname = input("What is the animal's name? ")
theAnimal = Animal.Animal(atype, aname)
theAnimal.set_animal_type(atype)
theAnimal.set_name(aname)
animal_list = Zoo()
animal_list.add_animal(theAnimal,Animal)
答案 0 :(得分:2)
从查看您的其他问题,您的Zoo
课程非常错误。
您的Zoo
班级 应如下所示:
class Zoo:
def __init__(self):
self.__animals = []
def add_animal(self, animals):
self.__animals.append(animal)
def show_animals(self):
size = len(self.__animals)
if size == 0:
print("There are no animals in your zoo!")
else:
return __animals
而是定义这样的方法:
def __init__(Animal):
并定义变量,如:
Animal.__animals = []
这根本没有意义。
您的问题是您使用了模块(Animal
)而不是self
。我不知道你可能在哪里得到这个想法,但你可能想要仔细阅读class definition in the Python documentation。