python - 如何打印字典中所选键值的正确值? (Python)

标签 python dictionary input key-value

我正在制作一本包含不同人生日的字典(用户通过输入填写)。现在,我还希望用户能够输入他/她刚刚添加的其中一个名字,然后得到那个人的生日作为返回。问题是它总是返回添加到列表中的最后日期,不管用户写了哪个名字。假设用户将这些元素放入:{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 行可能有问题。所有帮助表示赞赏! :)

最佳答案

首先,在您添加的代码中,我没有看到您将值添加到字典的部分。 之后你可以通过这个搜索:

if find in birthdays:
    date = birthdays.get(find)
    print(" %s 's birthday is at %s" % (find, date))

关于python - 如何打印字典中所选键值的正确值? (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52443694/

相关文章:

python - 如何通过设置阈值来处理 RASA NLU 中的回退意图

python - 如何让 PyDev 自动格式化每行的最大字符数?

swift - 如何在 Swift 中将字符串转换为字典类型?

python - 访问字典中的函数第 2 部分

html - 为什么按钮中的字体比 div 中的字体更扁平?

java - 不将值存储到变量

python - 如何在非主线程中创建 GUI 小部件

Python 走,但线程轻

linq - 将 dataReader 转换为 Dictionary

让 cin 读取返回字符的 C++