我一直收到错误:
NameError:name' animal_list'没有为第4行定义
我已经完成了我的代码,似乎无法找出原因。谢谢你的帮助!
import Animal
def main():
animals = make_list()
print("Here is the data you entered:", display_list(animal_list))
def make_list():
animal_list = []
run = True
while(run):
atype = input("What type of animal would you like to create? ")
aname = input("What is the animals name? ")
alist = Animal.Animal(atype, aname)
animal_list.append(alist)
another = input("Would you like to add more animals (y/n)? ")
if (another !="y"):
run = False
return animal_list
def display_list(animal_list):
print("Animal List")
print("------------")
print()
for item in animal_list:
print(item.get_name(), "the", item.get_animal_type(), "is")
main()
答案 0 :(得分:2)
你没有传递animals
但animal_list
,更改为此,应该有效:
def main():
animals = make_list()
print("Here is the data you entered:", display_list(animals))
由于animal_list
位于make_list
函数范围内,并且您无法在main()
函数范围内访问此名称。
当您从animal_list
返回make_list
并将animals
分配给结果时,您应该直接将其传递给display_list
。