为什么我收到列表错误未定义?

时间:2015-04-20 02:12:37

标签: python list python-3.x nameerror

我一直收到错误:

  

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()

1 个答案:

答案 0 :(得分:2)

你没有传递animalsanimal_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