Program(GPA)

この記事は約2分で読めます。
def is_poor_attendance(a,b=15):#Aは出席回数、Bは総授業回数
    return a/b<2/3
def get_grade_point(c,a,b=15):#Cは得点
    if is_poor_attendance(a,b):
        return 0
    else:
        match c//10:
            case 10|9:
                return 4
            case 8:
                return 3
            case 7:
                return 2
            case 6:
                return 1
            case _:
                return 0
def calc_gpa(x):#yは単位数
    d=0
    e=0
    for i in x:
        b=15 if len(i)<3 else i[2]
        y=2 if len(i)<4 else i[3]
        f=get_grade_point(i[0],i[1],b)
        d+=f*y
        e+=y
    return d/e if e>0 else 0

コメント

タイトルとURLをコピーしました