我有一个练习,其中生日字典如下:
birthdays =
{"Anne": {"month":"Jan","day":"27"},
"Mike":{"month":"Feb","day":"13"},
"Nicolas":{"month":"Jun","day":14},
"Marta": {"month":"Jan","day":16}}
问题是要定义一个函数,给定一个月,它将打印一个包含该月所有有生日的人的列表,以及日期。你知道吗
到目前为止我得到的是:
def birthbymonth(book, month):
for k,v in book.items():
if isinstance(v, dict):
birthbymonth(v,month)
else:
if month == v:
print(book)
当被称为birthdbymonth(生日,“Jan”)时,打印:
{'month': 'Jan', 'day': '27'}
{'month': 'Jan', 'day': 16}
但是我不知道怎么把那些过生日的人的名字也打印出来。你知道吗
如果您真的想使用递归(不建议用于此问题),可以对现有代码进行一些修改:
我看不出有什么理由在这里使用递归。你知道吗
正如其他人所指出的,不需要递归。相反,使用列表理解:
输出:
相关问题 更多 >
编程相关推荐