假设某大学的成绩绩点计算规则为:90分(含)以上计4.5分,80分(含)-90分(不含)计3分,70分(含)-80分(不含)计1.5分,60分(含)-70分(不含)计1分,60分以下不计分。输入某位同学的各门课成绩,请编写一个函数,打印该同学的平均绩点(保留2位小数)
时间: 2024-12-10 11:40:06 浏览: 21
您可以创建一个名为`calculate_GPA`的函数,接受一个列表,其中包含学生的各个课程分数。这个函数会根据提供的评分规则计算每个分数对应的绩点,并将所有绩点加起来除以总课程数得到平均绩点。以下是Python的一个示例实现:
```python
def calculate_GPA(scores):
grade_points = {
'A+': 4.5,
'A': 4.5,
'B+': 3,
'B': 3,
'C+': 1.5,
'C': 1.5,
'D+': 1,
'D': 1,
# 不计入的F等级可以忽略
}
total_points = 0
total_courses = len(scores)
for score in scores:
if score >= 90:
total_points += grade_points['A+']
elif score >= 80:
total_points += grade_points['B+']
elif score >= 70:
total_points += grade_points['C+']
elif score >= 60:
total_points += grade_points['D+']
average_GPA = total_points / total_courses
return round(average_GPA, 2)
# 示例用法
scores = [85, 92, 78, 65, 93] # 学生各科成绩
print(calculate_GPA(scores))
```
在这个例子中,您需要提供一个包含学生各科成绩的列表,函数会返回他们的平均绩点。如果遇到非得分范围的数据,可以根据实际情况处理,比如直接忽略或抛出异常。
阅读全文