我总是犯错误
NameError: name animal_type is not defined
或者
TypeError: __init__() missing 2 required positional arguments: 'animal_type' and 'name'
不管我把线路改成
animal = Animal.Animal(animal_type, animal)
或者
animal = Animal.Animal()
后来有了这个:
#Add animal to list
def addAnimal(animal):
atype = input("What type of animal would you like to create? ")
theAnimal = atype
theAnimal = Animal.Animal()
theAnimal.set_animal_type(atype)
aname = input("What is the animal's name? ")
theName = aname
theName = Animal.Animal()
theName.set_name(aname)
zookeeper.add_animal(theAnimal, theName)
为了提供一些背景知识,这个程序有两个导入的类。你知道吗
我给你打电话:
import random
class Animal:
#initialize attributes
def __init__(self,animal_type, name, mood = None):
self.__animal_type = animal_type
self.__name = name
if mood:
self.__mood = mood
else:
self.check_mood()
# set methods
def set_animal_type(self, animal_type):
self.__animal_type = animal_type
def set_name(self, name):
self.__name = name
您得到的是
NameError
,因为在第二个文件(您将Animal
类导入的文件)中,您还没有定义变量。你知道吗animal_type
和/或animal
尚未定义。你知道吗至于
TypeError
,问题是您没有传递任何必需的变量。
animal_type
和animal
。你知道吗例如:
或者只是
其他问题(编辑后):
1.)
当
set_name
或set_animal_type
时,不需要创建新的类实例。(在addAnimal
)你应该做的是:
2.)
你需要先拥有你的
input
s。像这样:3.)
addAnimal
函数不需要任何变量。它们没有被使用。你知道吗应该是
相关问题 更多 >
编程相关推荐