如何打印字典中所选键值的正确值?(Python)
我正在用不同的人的生日制作一本字典(用户通过输入填写)。现在,我还希望用户能够在他/她刚刚添加的名字中写上一个,然后得到那个人的生日作为回报。问题是它总是返回添加到列表中的最后一个日期,而不管用户写的是哪个名称。如果我想让程序打印安娜的生日,它会打印“安娜的生日是1月3日”。这就是我的代码的样子(顺便说一句,它大致翻译成英语,所以不要介意潜在的语言错误):如何打印字典中所选键值的正确值?(Python),python,dictionary,input,key-value,Python,Dictionary,Input,Key Value,我正在用不同的人的生日制作一本字典(用户通过输入填写)。现在,我还希望用户能够在他/她刚刚添加的名字中写上一个,然后得到那个人的生日作为回报。问题是它总是返回添加到列表中的最后一个日期,而不管用户写的是哪个名称。如果我想让程序打印安娜的生日,它会打印“安娜的生日是1月3日”。这就是我的代码的样子(顺便说一句,它大致翻译成英语,所以不要介意潜在的语言错误): 我觉得在最后4行中可能有问题。感谢所有帮助!:) 这是你想要的吗?但我认为这是不完整的 birthdays={} name= "" date
我觉得在最后4行中可能有问题。感谢所有帮助!:) 这是你想要的吗?但我认为这是不完整的
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?:")
birthdays[name] = date
find = input("\n Type in a name that you've added!:")
if find in birthdays:
print(" {} 's birthday is at {}" .format(find, birthdays.get(find)))
这是你想要的吗?但我认为这是不完整的
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?:")
birthdays[name] = date
find = input("\n Type in a name that you've added!:")
if find in birthdays:
print(" {} 's birthday is at {}" .format(find, birthdays.get(find)))
首先,在您添加的代码中,我没有看到将值添加到字典的部分。 之后,您可以通过以下方式进行搜索:
if find in birthdays:
date = birthdays.get(find)
print(" %s 's birthday is at %s" % (find, date))
首先,在您添加的代码中,我没有看到将值添加到字典的部分。 之后,您可以通过以下方式进行搜索:
if find in birthdays:
date = birthdays.get(find)
print(" %s 's birthday is at %s" % (find, date))
哦,我的一行代码好像丢了!中间应该有一条线,上面写着“生日。更新({Nord:Dedate }))。无论如何,谢谢!它工作了:哦,看来我的代码行丢了!中间应该有一行,上面写着“生日。更新({No:Dedate })”。无论如何,谢谢!成功了:)谢谢!我把我的最后几句话换成了你的最后几句,这句话和上面的答案一样有效:)谢谢!我把我的最后几句话换成了你的最后几句话,这和上面的答案一样有效:)