1、—个班有6个学生,开5门课。 (1)求第一门课的平均分 (2)找出有2门及以上不及格的学生,输出他们的学号,姓名,全部课程成绩和平均成绩(3)找出平均成绩90分以上或全部课程成绩在85分及以上的学生 的代码
时间: 2024-09-18 19:06:51 浏览: 54
c代码-编程实现:输入10个学生的6门课成绩,分别求出每个学生的平均成绩。
5星 · 资源好评率100%
假设我们有一个简单的数据结构,如列表或字典,每个元素代表一个学生的信息,包含学号、姓名和各科的成绩。由于没有实际的数据,我会给出一种伪代码的解决方案:
```python
# 定义一个学生类,包含学号、姓名和五门课程的成绩
class Student:
def __init__(self, id, name, grades):
self.id = id
self.name = name
self.grades = grades
# 假设 students_list 存储了所有学生的数据
students_list = [Student(1, '张三', [90, 88, 92, 78, 85]),
Student(2, '李四', [85, 80, 95, 80, 92]),
# ... 其他学生信息]
# (1)计算第一门课的平均分
def average_grade_of_first_course(students_list):
first_course_grades = [student.grades[0] for student in students_list]
return sum(first_course_grades) / len(first_course_grades)
first_course_avg_score = average_grade_of_first_course(students_list)
print(f"第一门课的平均分是: {first_course_avg_score}")
# (2)找出有2门及以上不及格的学生
def find_students_with_two_or_more_fails(students_list):
failing_students = []
for student in students_list:
fails_count = sum(grade < 60 for grade in student.grades)
if fails_count >= 2:
failing_students.append(student)
return failing_students
failing_students_info = find_students_with_two_or_more_fails(students_list)
for student in failing_students_info:
print(f"{student.id}, {student.name}: {student.grades} 平均成绩: {sum(student.grades) / len(student.grades)}")
# (3)找出平均成绩90分以上或全部课程成绩在85分及以上的学生
def find_students_above_threshold(students_list):
high_scores_students = []
for student in students_list:
avg_score = sum(student.grades) / len(student.grades)
if avg_score >= 90 or all(grade >= 85 for grade in student.grades):
high_scores_students.append(student)
return high_scores_students
high_score_students_info = find_students_above_threshold(students_list)
for student in high_score_students_info:
print(f"{student.id}, {student.name}: {student.grades} 平均成绩: {avg_score}")
```
请注意,这个伪代码假设`students_list`已经包含了实际的学生成绩数据,并且所有学生都有完整的五门课程成绩。在实际应用中,你需要根据你的数据结构来调整代码。如果有实际的数据集,可以直接运行上面的函数。
阅读全文