学分绩点计算办法:
1、按成绩折算课程绩点:
90分 - 100分 折合4.0 - 5.0绩点,即90分折合4.0,91分折合4.1,依次类推
80分 - 89分 折合3.0 - 3.9绩点,即80分折合3.0,81分折合3.1,依次类推
70分 - 79分 折合2.0 - 2.9绩点,即70分折合2.0,71分折合2.1,依次类推
60分 - 69分 折合1.0 - 1.9绩点,即60分折合1.0,61分折合1.1,依次类推
不足60分的绩点为0
2、计算公式:
课程学分绩点 = 课程绩点 × 课程学分
平均学分绩点 = 课程学分绩点总和 ÷ 课程学分总和
输入学生各门课程的成绩和学分,编程实现学分绩点计算,输出每门课程的绩点,学分和课程学分绩点,并输出平均学分绩点
输入格式:
每一行输入课程的成绩和学分,以#结束
输出格式:
每一行输出课程绩点,学分,课程学分绩点(保留两位小数),每一项占8个字符的宽度
最后一行输出平均学分绩点(保留两位小数)
输入样例:
在这里给出一组输入。例如:
95 2
87 3
83 2
78 3
66 4
56 2
93 1
#
输出样例:
在这里给出相应的输出。例如:
课程绩点 学分 课程学分绩点
4.5 2 9.00
3.7 3 11.10
3.3 2 6.60
2.8 3 8.40
1.6 4 6.40
0 2 0.00
4.3 1 4.30
平均学分绩点 = 2.69
是需要代码吗,我写了一份,希望题主采纳:
import math
def get_GPA(score):
if score >= 90:
return 4.0
elif score >= 80:
return 3.0 + (score - 80) / 10.0
elif score >= 70:
return 2.0 + (score - 70) / 10.0
elif score >= 60:
return 1.0 + (score - 60) / 10.0
else:
return 0.0
courses = []
credit_total = 0.0
credit_GPA_total = 0.0
while True:
try:
line = input().strip()
if line == '#':
break
score, credit = map(int, line.split())
GPA = get_GPA(score)
credit_GPA = GPA * credit
courses.append((GPA, credit, credit_GPA))
credit_total += credit
credit_GPA_total += credit_GPA
except EOFError:
break
for c in courses:
print("{:8.1f} {:<8d} {:8.2f}".format(c[0], c[1], c[2]))
average_GPA = credit_GPA_total / credit_total
print("平均学分绩点 = {:.2f}".format(average_GPA))
基于new Bing 的回答:
grades = []
credits = []
while True:
s = input().strip()
if s == '#':
break
grade, credit = map(int, s.split())
grades.append(grade)
credits.append(credit)
n = len(grades)
credit_points = []
total_credits = 0
for i in range(n):
if grades[i] >= 90:
point = 4.0
elif grades[i] >= 80:
point = 3.0 + (grades[i] - 80) / 10
elif grades[i] >= 70:
point = 2.0 + (grades[i] - 70) / 10
elif grades[i] >= 60:
point = 1.0 + (grades[i] - 60) / 10
else:
point = 0
credit_points.append(point * credits[i])
total_credits += credits[i]
print(f'{point:>8.1f} {credits[i]:>8d} {point*credits[i]:>8.2f}')
gpa = sum(credit_points) / total_credits
print(f'平均学分绩点 = {gpa:.2f}')
有帮助望采纳
不知道你这个问题是否已经解决, 如果还没有解决的话:过拟合(overfitting)指的是模型在训练数据是表现非常好,但是在验证集上表现特别差。
欠拟合(underfitting)指的是是模型在训练数据和验证集上表现都比较差。