编程的新手,并通过创建一个待办事项列表应用程序来自学,该应用程序根据用户输入将要执行的事情存储在名为ThingsToDo
的词典中。我正在使用dict.update
函数,该函数正在运行,但是我想添加一个功能,以便在字典ThingsToDo
中,每当用户输入要执行的新操作时,它就会存储新项作为ThingsToDo
中的字典,在该子词典中包含“到期日期”和“状态”之类的内容。我该怎么办?
这是到目前为止的代码(刚刚开始):
ThingsToDo = {}
while True:
item = input("What do you need to do? ")
DueDate = input("When do you need to do it by? ")
status = "Not done."
ThingsToDo.update({
"Item": item,
"Due Date": DueDate,
"Status": status,
})
print(ThingsToDo)
答案 0 :(得分:0)
您有许多事情要做,因此您可以将该字典放在列表或字典中。 您不能将其放在集合中,因为它必须是可哈希的。 如果选择了字典,则必须为每个元素选择一个“键”,对吗? 您可以阅读有关“数据结构” here的内容。 让我们尝试一下:
=CStr(Parameters!Year.Value - 1)
使用字典可以让您订购任务,但我不确定这是您的问题。让我们尝试通过添加数字来排序任务。
thingsToDo = []
newThingToDo = {
'Item': 'I need a haircut',
'DueDate': 'Right now',
'Status': 'Done'
}
thingsToDo.append(newThingToDo)
所以你的发型是任务编号5。
如果选择dict方式,则代码可能如下所示:
thingsToDo = {}
newThingToDo = {
'Item': 'I need a haircut',
'DueDate': 'Right now',
'Status': 'Done'
}
thingsToDo[5] = newThingToDo
答案 1 :(得分:0)
首先,我建议您考虑一下词典的关键是什么。我可以建议您使用“您需要做什么”作为关键的简单解决方案。效果很好:
ThingsToDo = {}
while True:
item = input("What do you need to do? ")
DueDate = input("When do you need to do it by? ")
status = "Not done."
ThingsToDo.update({item: {"Due Date": DueDate, "Status": status}})
print(ThingsToDo)
输出示例:
What do you need to do? Wash the car
When do you need to do it by? 2018/09/01
{'Wash the car': {'Due Date': '2018/09/01', 'Status': 'Not done.'}}
What do you need to do? Sort papers
When do you need to do it by? 2018/08/23
{'Wash the car': {'Due Date': '2018/09/01', 'Status': 'Not done.'},
'Sort papers': {'Due Date': '2018/08/23', 'Status': 'Not done.'}}