用嵌套的列表存储运动会报名表(见表4-4),并编程完成如下操作:① 求报名项目超过两项(含两项)的学生人数。 ② 输出女生的报名情况。 ③ 输出所有报名3 000m的学生姓名和性别。
时间: 2024-10-21 15:05:25 浏览: 45
田径运动会报名表excel模版下载
首先,让我们假设有一个嵌套列表,用于表示运动会报名表。这个列表的结构可能是这样的,每个子列表代表一个学生,包含姓名、性别和报名的运动项目。我们可以使用元组或字典来更好地组织数据,但为了保持简单,我们暂时用列表表示:
```python
# 假设的报名表示例,每位学生是一个列表,包括姓名(字符串)、性别('M'或'F')和项目列表(字符串列表)
registration = [
['张三', 'M', ['100m', '跳高']],
['李四', 'F', ['800m', '3000m']],
['王五', 'M', ['短跑', '长跑', '篮球']],
['赵六', 'F', ['排球', '游泳']],
]
```
要进行以下操作,我们可以编写相应的函数:
1. **求报名项目超过两项(含两项)的学生人数**:
- 我们遍历每一位学生,计算报名项目的数量,如果超过1个就计数。
```python
def count_students_with_two_or_more_projects(registration):
count = 0
for student in registration:
if len(student[2]) >= 2:
count += 1
return count
students_over_two_projects = count_students_with_two_or_more_projects(registration)
print(f"报名项目超过两项(含两项)的学生人数为: {students_over_two_projects}")
```
2. **输出女生的报名情况**:
- 我们遍历每一位学生,检查性别是否为'F',如果是,则打印其信息。
```python
def print_female_students(registration):
for student in registration:
if student[1] == 'F':
print(f"女生{student[0]}的报名项目有: {', '.join(student[2])}")
print_female_students(registration)
```
3. **输出所有报名3000m的学生姓名和性别**:
- 直接从列表中筛选出报名了3000m的学生,并打印他们的信息。
```python
def find_students_for_3000m(registration):
for student in registration:
if '3000m' in student[2]:
print(f"姓名: {student[0]}, 性别: {student[1]}")
find_students_for_3000m(registration)
```
现在你可以运行这些函数来得到所需的结果。如果你的列表的实际结构不同,请调整这些函数以适应实际情况。
阅读全文