情景:假设小明是班里的双创委员,需要统计参加活动的同学姓名,请用一个列表存储每次参加活动的同学姓名。输入姓名,能显示该同学是否参加过活动。(扩展情景:假设每次活动的学分都一样,如果该同学有参加过活动,能显示获得的总学分。)
时间: 2024-10-28 19:11:22 浏览: 14
在这个情景中,我们可以创建一个Python字典数据结构来存储每个学生及其对应的活动参与记录和学分。字典的键可以是学生的姓名,值是一个嵌套的字典,包含“activity”(表示活动参与情况,如True表示参加,False表示未参加)和“credit”(表示累计学分)。当输入一个学生姓名时,我们可以通过检查字典中是否存在这个姓名来判断其是否参加过活动以及获取累积学分。
以下是简单的实现步骤:
```python
# 初始化空字典来存储学生信息
student_records = {}
# 添加或更新学生参与活动的情况
def add_student_activity(name, attended, credit):
if name in student_records:
student_records[name]["activity"] = attended
student_records[name]["credit"] += credit
else:
student_records[name] = {"activity": attended, "credit": credit}
# 查询学生活动情况
def check_student_activity(name):
return student_records.get(name, {"activity": False, "credit": 0})
# 示例用法
add_student_activity("小明", True, 5) # 小明参加了活动,获得5学分
print(check_student_activity("小明")) # 输出 {'activity': True, 'credit': 5}
```
阅读全文