Получение AttributeError в python3 (вопрос noob) - PullRequest
0 голосов
/ 02 апреля 2020

Итак, я новичок в этом программировании, и я работал над несколькими небольшими проектами, чтобы попытаться объединить то, что я изучаю. У меня есть пользовательский интерфейс базы данных пациентов, который я делал, и он использовал словари. Теперь я научился использовать классы вместо этого, чтобы я мог включать в ключ больше данных, чем просто одну переменную, но при попытке ссылки на атрибут для вывода он выдает мне ошибку атрибута ... это почти тот же код, который я использовал раньше, но с. включая возраст. Кто-нибудь может мне помочь и просто объяснить, почему я не могу использовать строку «запроса», которую я ранее использовал со словарями, и, возможно, предложить способ обойти это? код ошибки image

class Patient:
    def __init__(patient, color, age):
        patient.color = color
        patient.age = age

felix = Patient ("White_British", 21)
print(felix.color)

while True:
    print ("What would you like to do?")

    usin = str(input("  "))

# Find Patient Age Function

    if usin == "find patient age":
        try: 
            request = str(input("Name of patient: "))
            print (request + "'s age is " + request.age + " Years"

Любая помощь будет принята с благодарностью, я знаю, что это кажется глупым вопросом.

1 Ответ

3 голосов
/ 02 апреля 2020

request не является экземпляром класса Patient. Вы использовали input() для извлечения пользовательского ввода, преобразовали его в строку, используя str(), и установили request для получения равного результата. Так что request не имеет атрибута age, так как это строка, а не Patient.

...