2、 利用二维列表,编程完成测试BMI的程序,要求: 1、输入五人的汉字姓名,体重和身高,计算他们的BMI(体重kg/(身高*身高)身高单位为米),2、将五人的信息放入二维列表中,打印出该列表 3、将五人信息按照BMI排序,组成新列表,并打印
时间: 2023-07-16 20:14:00 浏览: 40
下面是代码实现:
```python
# 定义一个空的二维列表
data = []
# 输入五人的信息
for i in range(5):
name = input("请输入第{}个人的姓名:".format(i+1))
weight = float(input("请输入{}的体重(kg):".format(name)))
height = float(input("请输入{}的身高(m):".format(name)))
bmi = round(weight / (height * height), 2) # 计算BMI,保留两位小数
info = [name, weight, height, bmi] # 将姓名、体重、身高和BMI放入一个列表中
data.append(info) # 将这个列表放入二维列表中
# 打印二维列表
print("五人的信息如下:")
print("姓名\t\t体重(kg)\t身高(m)\tBMI")
for info in data:
print("{}\t\t{}\t\t{}\t\t{}".format(info[0], info[1], info[2], info[3]))
# 按照BMI排序,并组成新列表
sorted_data = sorted(data, key=lambda x: x[3])
# 打印排序后的新列表
print("按照BMI排序后的五人信息如下:")
print("姓名\t\t体重(kg)\t身高(m)\tBMI")
for info in sorted_data:
print("{}\t\t{}\t\t{}\t\t{}".format(info[0], info[1], info[2], info[3]))
```
运行结果:
```
请输入第1个人的姓名:张三
请输入张三的体重(kg):75
请输入张三的身高(m):1.75
请输入第2个人的姓名:李四
请输入李四的体重(kg):65
请输入李四的身高(m):1.68
请输入第3个人的姓名:王五
请输入王五的体重(kg):80
请输入王五的身高(m):1.8
请输入第4个人的姓名:赵六
请输入赵六的体重(kg):70
请输入赵六的身高(m):1.7
请输入第5个人的姓名:钱七
请输入钱七的体重(kg):90
请输入钱七的身高(m):1.9
五人的信息如下:
姓名 体重(kg) 身高(m) BMI
张三 75.0 1.75 24.49
李四 65.0 1.68 23.03
王五 80.0 1.8 24.69
赵六 70.0 1.7 24.22
钱七 90.0 1.9 24.93
按照BMI排序后的五人信息如下:
姓名 体重(kg) 身高(m) BMI
李四 65.0 1.68 23.03
赵六 70.0 1.7 24.22
张三 75.0 1.75 24.49
王五 80.0 1.8 24.69
钱七 90.0 1.9 24.93
```