我正在尝试打印生日男孩的名字。为此,我写了以下代码:
int yyerror(void) {
if (gMyState== ERR_DECL) printf("Error in function declaration\n);
else ...
}
代码中的变量import datetime
now = datetime.datetime.now()
a = now.strftime("%d-%B")
birthdays = {
'1-December': 'ALICE',
'19-December': 'BOB',
'20-May': 'MORRIS'
}
存储了今天的日期和月份。如果我的词典中的键与今天的日期和月份匹配,我想打印它的相应值,即生日男孩的名字。
我怎么能这样做?
答案 0 :(得分:1)
两个步骤。 1)检查钥匙a是否在生日 2)打印出来。
if a in birthdays:
print(birthdays[a])
编辑:
如Avihoo Mamka所建议的那样,甚至更简单。birthdays.get(a, 'No birthday found for this date')
答案 1 :(得分:1)
您可以在字典上使用.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!
请注意,您当前的方法存在两个问题
1-December
,但日期字符串的格式为01-December
strftime
逻辑birthdays = {'09-December': ['ALICE', 'BOB'], '20-May': ['MORRIS']}