用函数内容计算平均值

用户输入一组学生的姓名、性别、年龄等信息,采用空格分隔,每人一行,空行回车结束录入。示例格式如下:

张三 男 23

李四 女 21

王五 男 18

计算并输出所有学生的年龄(保留两位小数)和其中男性的人数,输出格式为

平均年龄是20.67,男性人数是2


#定义一个空字典
d = {}
#在一行输入学生的姓名,性别和年龄,一人一行。输入空行结束
while True:
    try:
        name,sex,age = input("请输入学生的姓名,性别和年龄,用空格分割:").split(" ")
        d[name] = {"性别":sex,"年龄":int(age)}
    except Exception: #输入空行时跳出循环
        break
Men_number = 0 #男人的数量
Avg_age = 0 #初始的平均年龄
for name,a in d.items():
    if a["性别"] == "男":
        Men_number = Men_number + 1
    Avg_age = Avg_age + a["年龄"]
print("平均年龄是{:.2f},男性人数是{}".format(Avg_age/len(d.keys()),Men_number))
s = []

n = input()

while n!='':
    s.append(n.split())
    n = input()

age = round(sum([int(i[2]) for i in s])/len(s),2)
men = sum([1 for i in s if i[1]=='男'])

print(f'平均年龄是{age},男性人数是{men}')