有没有牛人可以教我一下这种题该如何解决

img

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

data = [
    {"year":2000,"month":1,"day":1,"n_birth":800},
    {"year":2000,"month":1,"day":2,"n_birth":200},
    {"year":2001,"month":1,"day":1,"n_birth":1200},
    {"year":2001,"month":1,"day":2,"n_birth":800},
    {"year":2001,"month":2,"day":1,"n_birth":1000}
]
month = {}
year = {}
for it in data:
    m = month.setdefault(it["month"],{})
    m[it["year"]] = m.get(it["year"],0) + it["n_birth"]
    year[it["year"]] = year.get(it["year"],0) + it["n_birth"]
print(month)
print(year)
for mk,mv in month.items():
    print(f'{mk}月')
    for yk,yv in mv.items():
        print(f'\t在{yk}年出生人数为{yv}人,占比当年{100/year[yk]*yv:.1f}%')