Как отобразить весь объект, который соответствует моему поиску, по атрибуту этого объекта в Python? - PullRequest
0 голосов
/ 17 мая 2019

Я пишу программу, которая отслеживает животных на ферме, и я хочу иметь возможность искать животное, например, по имени, полу, возрасту и т. Д., Которые все являются атрибутами объектов.Я полный нуб, когда дело доходит до Python, поэтому вся помощь очень ценится.

Вот код, который у меня есть для этого, но он только рекламирует атрибут, который ищется в списке, а затем печатаетЭто.Я хочу иметь возможность добавить весь объект в список и распечатать весь объект через этот список.

class Djur:

    def __init__(self, art, namn, ålder, kön, gravid):
        self.art = art
        self.namn = namn
        self.age = ålder
        self.gender = kön
        self.gravid = gravid


    def __str__(self):
        return ("Art: " + str(self.art) + " " + "\n"
                "Namn: " + str(self.namn) + " " + "\n"
                "Ålder: " + str(self.age) + " " + "\n"
                "Kön: " + str(self.gender) + " " + "\n"
                "Gravid: " + str(self.gravid))
    def __repr__(self):
        return str(self)




try:

                val2 = input("Ange sök-text")

                l=[]

                for x in djurlista:
                    y = x.art or x.gender or x.namn or x.gravid or x.age
                    if y == val2:
                        l.append(x.art)
                        print(l)
                meny()


            except ValueError:
                print("Var god välj ett giltigt alternativ!")

1 Ответ

0 голосов
/ 17 мая 2019

Чтобы создать список с объектами, вам просто нужно написать l.append(x) вместо l.append(x.art).Сейчас вы просто добавляете свойство art.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...