假设某大学的成绩绩点计算规则为:90分(含)以上计4.5分,80分(含)-90分(不含)计3分,70分(含)-80分(不含)计1.5分,60分(含)-70分(不含)计1分,60分以下不计分。输入某位同学的各门课成绩,请编写一个函数,打印该同学的平均绩点(保留2位小数)。 函数接口定义: 函数接口描述: GPA(参数...) 裁判测试程序样例: lst=list(map(eval,input().split())) GPA(*lst) 输入样例1: 在这里给出一组输入。例如: 90 95 87 输出样例1: 在这里给出相应的输出。例如: 4.00 输入样例2: 在这里给出一组输入。例如: 60 73 88 59 输出样例2: 在这里给出相应的输出。例如: 1.38
时间: 2024-02-26 21:58:10 浏览: 161
平均学分绩点计算程序
好的,根据您的要求,我已经编写了一个Python函数,可以实现您的需求。请参考下面的代码:
```python
def GPA(*args):
score_list = list(args)
point_list = []
for score in score_list:
if score >= 90:
point_list.append(4.5)
elif score >= 80:
point_list.append(3.0)
elif score >= 70:
point_list.append(1.5)
elif score >= 60:
point_list.append(1.0)
else:
point_list.append(0)
avg_point = sum(point_list) / len(point_list)
print("{:.2f}".format(avg_point))
```
这个函数的实现思路是:首先将输入的成绩列表转换成一个数值列表score_list,然后遍历score_list中的每个成绩,根据绩点计算规则,将每个成绩对应的绩点添加到一个绩点列表point_list中。最后,将point_list中的所有绩点求和并除以成绩数量,得到平均绩点,并将其保留两位小数输出。
您可以通过以下方式调用该函数:
```python
lst = list(map(eval, input().split()))
GPA(*lst)
```
其中,input().split()用于获取输入的成绩列表,map(eval, ...)将每个输入转换成数值类型,list(...)将所有数值组成一个列表,*lst则用于将列表中的每个数值作为函数的参数传递进去。
阅读全文