python练习题

小练习题.如图:




1,代码:

def cal_gpa(grade,credit):
    grade = int(grade)
    credit = int(credit)
    if (grade < 0):
        return 0
    elif (grade < 60):
        return 0
    elif (grade <= 65):
        return round(credit*1.3/credit,1)
    elif (grade <= 70):
        return round(credit*2.0/credit,1)
    elif (grade <= 75):
        return round(credit*2.3/credit,1)        
    elif (grade <= 80):
        return round(credit*2.7/credit,1)
    elif (grade <= 85):
        return round(credit*3.3/credit,1)
    elif (grade <= 89):
        return round(credit*3.7/credit,1)
    elif (grade <= 100):
        return round(credit*4.0/credit,1)
    elif (grade > 100):
        return -1

    
num = input("请输入学号:")
name = input("请输入学生姓名:")
course = input("请输入课程名称:")
grade = input("请输入该课成绩:")
credit = input("请输入课程学分:")

GPA = cal_gpa(grade,credit)
print("该学生该课的绩点为:",GPA)

2,代码:

course = []
dict_gc = {}

def grade_sum():
    temp = 0.0
    sum_gpa = 0.0
    for sig,cre in dict_gc.items():
        sig = int(sig)
        cre = int(cre)
        if (sig < 0):
            pass
        elif (sig < 60):
            sum_gpa += cre*0
        elif (sig <= 65):
            sum_gpa += cre*1.3
        elif (sig <= 70):
            sum_gpa += cre*2.0
        elif (sig <= 75):
            sum_gpa += cre*2.3      
        elif (sig <= 80):
            sum_gpa += cre*2.7
        elif (sig <= 85):
            sum_gpa += cre*3.3
        elif (sig <= 89):
            sum_gpa += cre*3.7
        elif (sig <= 100):
            sum_gpa += cre*4.0
        elif (sig > 100):
            pass
        temp += cre
    return round(sum_gpa/temp,1)


def UI(name):
    print('------------------------------------')
    print("尊敬的%s,欢迎来到计算平均绩点系统" % name)
    print('------------------------------------')

    while(True):
        cou = input("请输入课程名称:")
        course.append(cou)
        gra = input("请输入该课成绩:")
        cre = input("请输入课程学分:")
        dict_gc[gra] = cre
        check_input_over = input("输入课程完成?yes or no:")
        if ('yes' == check_input_over):
            break
   
def test():
    print("请登陆,在下面输入您的学号和姓名...")
    num = input("学号:")
    name = input("姓名:")
    UI(name)
    av = grade_sum()
    av = str(av)

    print("姓名:%s  学号:%s  平均成绩绩点:%s "% (name,num,av))
  
if __name__ == '__main__':
    test()








    





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值