У меня есть две программы. Первый animalGenerator.py:eTypeError: __init __() missing 1 обязательный позиционный аргумент: 'Тип'
# This program generates a name and an animal type
import Animals
print("Welcome to the animal generator!")
print("This program creates Animal objects")
def main():
animals = make_list()
print("\nAnimal List")
print("-------------")
display_list(animals)
def make_list():
animal_list = []
again = 'y'
while again.lower() == 'y':
typ = input("\nWhat type of animal would you like to create? ")
nam = input("What is the animal's name? ")
ani = Animals.Animal(typ, nam)
animal_list.append(ani)
again = input("\nWould you like to add more animals (y/n)? ")
return animal_list
def display_list(animal_list):
for item in animal_list:
print("\n" + item.get_name() + "the" + item.get_Type() + "is" + item.get_mood())
main()
Вторая программа Animals.py:
import random
class Animal:
def __init__(self, name, mood, Type):
self.__name = name
self.__mood = mood
self.__animal_type = Type
def set_name(self, name):
self.__name = name
def set_mood(self, mood):
self.__mood = mood
def set_animal_type(self, Type):
self.__animal_type = Type
def toss(self):
if random.randint(1, 2, 3) == 1:
self.__mood = 'Happy'
elif random.randint(1, 2, 3) == 2:
self.__mood = 'Hungry'
elif random.randint(1, 2, 3) == 3:
self.__mood = 'Sleepy'
def get_name(self):
return self.__name
def get_mood(self):
return self.__mood
def get_animal_type(self):
return self.__animal_type
Я получаю ошибку (название) при запуске первой программы Это отслеживающий:
Traceback (most recent call last):
File "C:\Users\Dahlia\Desktop\McCuneShannonAnimals\animalGenerator.py", line 42, in <module>
main()
File "C:\Users\Dahlia\Desktop\McCuneShannonAnimals\animalGenerator.py", line 11, in main
animals = make_list()
File "C:\Users\Dahlia\Desktop\McCuneShannonAnimals\animalGenerator.py", line 30, in make_list
ani = Animals.Animal(typ, nam)
TypeError: __init__() missing 1 required positional argument: 'Type'
Может кто-нибудь, пожалуйста, помогите мне выяснить, как/почему «Тип» - отсутствующий позиционный аргумент?
Сообщение об ошибке сообщает вам, что не так: вы пытаетесь вызвать инициализатор (__init __()) с недостаточным количеством аргументов. – fuesika
Проблема заключается в 'ani = Animals.Animal (typ, nam)', где заданы только два параметра, в то время как три ожидаются. –