Python,利用二维列表,编程完成测试BMI的程序,要求:输入五人的汉字姓名,体重和身高,计算他们的BMI,将五人的信息放入二维列表中,打印出该列表,将五人的信息根据BMI排序,组成新列表,并打印。
时间: 2024-05-08 18:20:14 浏览: 17
好的,我理解了你的要求。下面是Python代码实现:
```python
def calc_bmi(height, weight):
""" 根据身高和体重计算BMI """
return round(weight / (height/100) ** 2, 2)
# 输入五人信息
names = ['张三', '李四', '王五', '赵六', '陈七']
heights = [175, 168, 180, 164, 172]
weights = [70, 65, 80, 55, 68]
# 计算五人的BMI,并将信息放入二维列表
bmi_info = []
for i in range(len(names)):
bmi = calc_bmi(heights[i], weights[i])
bmi_info.append([names[i], heights[i], weights[i], bmi])
# 打印出该列表
print("五人的BMI信息如下:")
for info in bmi_info:
print(info)
# 按BMI进行排序,并打印新列表
bmi_sorted = sorted(bmi_info, key=lambda x: x[3])
print("\n按BMI排序后的五人信息:")
for info in bmi_sorted:
print(info)
```
如果您有其他问题,可以继续提问。
相关问题
用python编写程序,编程完成测试BMI程序,要求:第一输入五人的汉字姓名,体重和身高,计算他们得BMI(体重kg/(身高·身高)身高单位为米),第二将五人的信息放入二维列表中,打印出该列表,第三将五人信息按照BMI排序,组成新列表,并打印
出新列表。
好的,让我来为你解答这个问题。
以下是完成测试BMI程序的Python代码:
```python
# 定义一个函数来计算BMI值
def calculate_bmi(weight, height):
return weight / (height * height)
# 初始化一个二维列表来存储五个人的信息
person_info = []
# 输入五个人的姓名,体重和身高,并计算他们的BMI值
for i in range(5):
name = input("请输入第{}个人的姓名:".format(i+1))
weight = float(input("请输入{}的体重(单位kg):".format(name)))
height = float(input("请输入{}的身高(单位m):".format(name)))
bmi = calculate_bmi(weight, height)
# 将每个人的姓名、体重、身高和BMI值存储到一个小列表中
person_info.append([name, weight, height, bmi])
# 打印出二维列表
print("五个人的信息为:")
for person in person_info:
print(person)
# 按照BMI值对五个人的信息进行排序
sorted_person_info = sorted(person_info, key=lambda x:x[3])
# 打印出排序后的新列表
print("排序后的五个人的信息为:")
for person in sorted_person_info:
print(person)
```
使用上述代码执行后,会按照上述要求计算每个人的BMI值、存储到二维列表中、打印出该列表并再次按照BMI排序并打印出排序后的新列表。注意,此代码仅为示例,并且可根据需要进行修改。
2、 利用二维列表,编程完成测试BMI的程序,要求: 1、输入五人的汉字姓名,体重和身高,计算他们的BMI(体重kg/(身高*身高)身高单位为米),2、将五人的信息放入二维列表中,打印出该列表 3、将五人信息按照BMI排序,组成新列表,并打印
下面是代码实现:
```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
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)