#1.2门课:高数、c语言,5个同学,要求属兔课程名称和成绩,用列表进行存储 #创建3个空列表:存放姓名,高数成绩,c语言成绩 #输出:姓名列表 #高数成绩列表,最高分,最低分,平均分 #c语言成绩列表,最高分,最低分,平均分
时间: 2024-09-27 20:18:02 浏览: 36
20位学生有3门课程分别是高数-大英-C语言的考试成绩-求每门课的总分和平均分.pdf
首先,我们可以创建三个空列表,分别用于存储姓名、高数成绩和C语言成绩。假设每个同学都有对应的学名和成绩数据,我们可以通过字典来组织,因为字典可以同时存储键值对,这里键是科目名称,值是一个包含成绩的列表。
```python
# 创建空列表和字典
students = []
math_scores = []
c_language_scores = []
# 假设数据如下(实际应用中需要从数据库或其他来源获取)
students_data = [
{"name": "张三", "courses": [{"subject": "高数", "score": 85}, {"subject": "C语言", "score": 90}]},
{"name": "李四", "courses": [{"subject": "高数", "score": 92}, {"subject": "C语言", "score": 95}]},
# ... 其他同学数据
]
# 填充数据到列表
for student in students_data:
students.append(student["name"])
math_scores.extend([course["score"] for course in student["courses"] if course["subject"] == "高数"])
c_language_scores.extend([course["score"] for course in student["courses"] if course["subject"] == "C语言"])
# 计算成绩统计信息
math_max_score = max(math_scores) if math_scores else None
math_min_score = min(math_scores) if math_scores else None
math_avg_score = sum(math_scores) / len(math_scores) if math_scores else None
c_lang_max_score = max(c_language_scores) if c_language_scores else None
c_lang_min_score = min(c_language_scores) if c_language_scores else None
c_lang_avg_score = sum(c_language_scores) / len(c_language_scores) if c_language_scores else None
# 输出结果
print("姓名列表:", students)
print(f"高数成绩列表: {math_scores} | 最高分: {math_max_score}, 最低分: {math_min_score}, 平均分: {math_avg_score}")
print(f"C语言成绩列表: {c_language_scores} | 最高分: {c_lang_max_score}, 最低分: {c_lang_min_score}, 平均分: {c_lang_avg_score}")
```
阅读全文