Поиск объектов в списке по атрибуту - PullRequest
0 голосов
/ 27 декабря 2018

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

import Game
import sys
import os
import time
import random

if __name__ == '__main__':
    pass

#constructor = name, ability, hitpoints, attack, gold, potions

def main():
    lst=[]
    c1 = Game.Character('j', "Forcefield", 100, 10, 0, 0)
    lst.append(c1)
    c2 = Game.Character("Sue", "Jump", 100, 10, 0, 0)
    lst.append(c2)

    x = input("Enter the name of the character to search for")

    for i in lst:
        if i == x:
            print("found")  


main()

Ответы [ 2 ]

0 голосов
/ 27 декабря 2018

Итерация по lst даст вам Game.Character объектов в i в каждой итерации.Вместо i == x используйте i.name == x

0 голосов
/ 27 декабря 2018

Вы должны сравнить ввод с атрибутом экземпляра.

for i in lst:
    if i.name == x:
        print("found")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...