【发布时间】:2018-09-21 12:23:05
【问题描述】:
我正在制作一本包含不同人生日的字典(用户通过输入填写)。现在,我还希望用户能够写下他/她刚刚添加的名字之一,然后得到那个人的生日作为回报。问题是它总是返回添加到列表中的最后一个日期,不管用户写了哪个名字。所以说用户已经把这些元素放在:{anna:1.october, paul:3.january}。如果我希望程序打印 Anna 的生日,它会打印“anna 的生日是 3.january”。这就是我的代码的样子(顺便说一句,它大致翻译成英文,所以不要介意潜在的语言错误):
birthdays={}
name= ""
date= ""
while True:
name= input("Who's birthday would you like to add?:")
if name.strip() == "done":
break
date= input("When is the person's birthday?:")
find= input("\n Type in a name that you've added!:")
for name in birthdays:
if find == name in birthdays or date in birthdays:
print(" %s 's birthday is at %s" % (name, date))
我觉得最后 4 行中可能有问题。所有帮助表示赞赏! :)
【问题讨论】:
标签: python dictionary input key-value