使用函数查找GPA

2024-09-30 04:32:09 发布

您现在位置:Python中文网/ 问答频道 /正文

这应该是根据所学成绩和课程学分计算学期平均绩点的代码。在

必须使用coursePoints(credit, grade)函数来计算GPA。在

但是在我的代码中,credit值没有改变,并且发生了一个错误。在

classnum=int(input("Enter the num of classes: "))

totalcredit=0
totalgpa=0

def main():
    for i in range(1,classnum+1):
        print("class", i)
        credit=int(input("Enter the credit: "))
        grade=str(input("Enter the grade: "))
        totalgpa+=coursePoints(credit,grade)
        totalcredit+=credit

    totalcourse=classnum 
    semestergpa=totalgpa/totalcredit
    print("Semester summary")
    print("courses taken: ", classnum)
    print("credits taken: ", totalcredit)
    print("GPA points: ", totalgpa)
    print("Semester GPA: ", semestergpa)

def coursePoints(Credit,Grade):
    if Grade == 'A+' or Grade == 'a+':
        return 4*Credit
    elif Grade == 'A' or Grade == 'a':
        return 4*Credit
    elif Grade == 'A-' or Grade == 'a-':
        return 3.67*Credit
    elif Grade == 'B+' or Grade == 'b+':
        return 3.33*Credit
    elif Grade == 'B' or Grade =='b':
        return 3*Credit
    elif Grade == 'B-' or Grade == 'b-':
        return 2.67*Credit
    elif Grade == 'C+' or Grade == 'c+':
        return 2.33*Credit
    elif Grade == 'C' or Grade == 'c':
        return 2*Credit               
    elif Grade == 'C-' or Grade == 'c-':                        
        return 1.67*Credit                
    elif Grade =='D+' or Grade == 'd+':                      
        return 1.33*Credit                
    elif Grade == 'D' or Grade == 'd':                        
        return 1*Credit                      
    elif Grade == 'D-' or Grade == 'd-':                                
        return 0.33*Credit                     
    else:
        return 0

main()

Tags: orinputreturngradeprintentercreditgpa
1条回答
网友
1楼 · 发布于 2024-09-30 04:32:09

看起来你正在返回一个变量赋值。在

return gpa = 4*Credit

你不需要等号,只需要

^{pr2}$

把你所有的报税表都改成那样。在

另外,你的问题已经做了缩进的编辑,所以这也可能是个问题,但看起来这些问题已经解决了,为了得到你正确的逻辑,请修改你的分数大小写,正如我在评论中提到的那样。在

相关问题 更多 >

    热门问题