用嵌套的列表存储运动会报名表(见表4-4),并编程完成如下操作:① 求报名项目超过两项(含两项)的学生人数。 ② 输出女生的报名情况。 ③ 输出所有报名3 000m的学生姓名和性别。
时间: 2024-11-21 11:35:21 浏览: 14
假设我们有一个嵌套列表,其中每个内部列表代表一个学生的信息,包含姓名、性别和报名项目的列表。表4-4的结构可能是这样的:
```python
table = [
["张三", "男", ["短跑", "跳高"]],
["李四", "女", ["游泳", "篮球", "3000m"]],
["王五", "男", ["足球"]],
["赵六", "女", ["3000m", "羽毛球"]],
# 更多学生数据...
]
```
我们可以编写Python代码来实现所需的三个操作:
1. **求报名项目超过两项(含两项)的学生人数**:
```python
count = sum(1 for student in table if len(student[2]) >= 2)
print(f"报名项目超过两项(含两项)的学生有 {count} 人.")
```
2. **输出女生的报名情况**:
```python
for student in table:
if student[1] == "女":
print(f"女生{student[0]}报名了:{', '.join(student[2])}")
```
3. **输出所有报名3000m的学生姓名和性别**:
```python
students_3000m = [student for student in table if "3000m" in student[2]]
for student in students_3000m:
print(f"{student[0]} ({student[1]}) 报名了3000m.")
```
阅读全文