用户输入一组学生的姓名、性别、年龄等信息,采用空格分隔,每人一行,空行回车结束录入。示例格式如下:
张三 男 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}')