如果键与今天的日期匹配,则在 python 中打印值字段



我正在尝试打印生日男孩的名字。为此,我编写了以下代码:

import datetime
now = datetime.datetime.now()
a = now.strftime("%d-%B")
birthdays = {
              '1-December': 'ALICE',
              '19-December': 'BOB',
              '20-May': 'MORRIS'
            }

代码存储当今日期和月份中的变量a。如果我的字典中的键与今天的日期和月相匹配,我想打印它是相应的价值,即生日男孩的名称。

我该怎么做?

您只需在字典上使用.get调用即可检查任何生日。:

>>> import datetime
>>> now = datetime.datetime.now()
>>> today = now.strftime("%d-%B")
>>> birthdays = {
...         '01-December': 'ALICE',
...         '19-December': 'BOB',
...         '20-May': 'MORRIS',
...         '09-December': 'PRUDHVI'
...         }
>>> birthday_today = birthdays.get(today)
>>> if birthday_today: print "Happy birthday %s!" % birthday_today
... else: print "No birthday today"
... 
Happy birthday PRUDHVI!

请注意,您当前的方法有2个问题

  1. 您将生日保存为1-December,但日期字符串是 01-December的表格, strftime逻辑
  2. 可能有多个男孩在同一日期有一个刻度,目前的词典将无法存储。使用列表而不是字符串来保存字典中的名称,例如: birthdays = {'09-December': ['ALICE', 'BOB'], '20-May': ['MORRIS']}

两个步骤。1)检查键A是否在生日中2)打印它。

if a in birthdays:
    print(birthdays[a])

编辑:

,甚至是Avihoo Mamka建议的更简单的。

birthdays.get(a, 'No birthday found for this date')

相关内容

最新更新