Как распечатать атрибут или серию атрибутов объекта класса из словаря? - PullRequest
0 голосов
/ 07 марта 2019

Я делаю список дел менеджера. Каждый элемент в списке является объектом, принадлежащим классу «Задача», который имеет показанные атрибуты. Каждый раз, когда пользователь вызывает функцию Taskmaker, объект Task добавляется в словарь taskDict с ключом (счетчиком), который постепенно увеличивается на единицу для каждой созданной задачи.

Затем программа печатает мне список созданных задач и соответствующие ключи с помощью print (taskDict).

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

import datetime


class Task:
    def __init__(self, taskname, datecreated, iscomplete, datecomplete, duedate, duetime, importance, isproject, projectname, category, repeat, timetodo, scheduledate):
        self.taskname = taskname
        self.datecreated = datecreated
        self.iscomplete = iscomplete
        self.datecomplete = datecomplete
        self.duedate = duedate
        self.duetime = duetime
        self.importance = importance
        self.isproject = isproject
        self.projectname = projectname
        self.category = category
        self.repeat = repeat
        self.timetodo = timetodo
        self.scheduledate = scheduledate


taskDict = {}
count = 0       # This is the key

decide: str = input("If you would like to add a task, type anything except 0. : ")


def taskmaker():
    global decide
    while decide != "0":
        namer = input("Enter your task: ")
        datecreateder = datetime.datetime.now()
        duedater = input("When would you like this due? : ")
        duetimer = input("At what time would you like this due? : ")
        task = Task(namer, datecreateder, False, "", duedater, duetimer, 0, False, "", "", False, 1, "")
        global count
        taskDict[count] = task
        count = count + 1
        decide = input("If you would like to add a task, type anything except 0. : ")


taskmaker()

print(taskDict)

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

Вот консольный ввод и вывод.

If you would like to add a task, type anything except 0. : 1
Enter your task: Chemistry homework
When would you like this due? : Tomorrow
At what time would you like this due? : Noon
If you would like to add a task, type anything except 0. : 2
Enter your task: History Essay
When would you like this due? : Wednesday
At what time would you like this due? : Midnight
If you would like to add a task, type anything except 0. : 0
{0: <__main__.Task object at 0x000001AFBADCCEB8>, 1: <__main__.Task object at 0x000001AFBADCCE48>}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...