使用python选择语句计算GPA

工科大二,刚学python的选择语句,布置的使用选择语句计算GPA。

img

img


我知道我编的不对,我是想一边运行一边慢慢修改,但是这个冒号一直报错〒_〒
应该怎么做?
别嫌弃我太小白
默默问一句,这个app是那种专业的吗?我这种问题是不是不太合适

你应该用的是中文 冒号吧, 切换输入法到英文,再输入冒号, 参考我的代码:

x = eval(input('输入学科成绩'))
GPA = 0 # 初始化GPA
if x>90:
    GPA += 4
elif x < 90:
    GPA = (4*x)/90
else:
    GPA = GPA/(3+5+4+3+3)

name = input('输入学生姓名:')
chengjidian = []
xuefen = []
shuju = []


# 1.计算各位成绩绩点.....
def gekechengjijidian():
    a = ["大学英语", "高等数学", "大学物理", "高等代数", "程序设计基础"]
    for i in a:
        x = eval(input('输入{}学科成绩:'.format(i)))
        GPA = 0  # 初始化GPA
        if x >= 90:
            GPA += 4
            chengjidian.append(GPA)
            print("学生{}的{}学科成绩的GPA:{}".format(name, i, GPA))
        elif x < 90:
            GPA = (4 * x) / 90
            chengjidian.append(GPA)
            print("学生{}的{}学科成绩的GPA:{}".format(name, i, GPA))


# 2.用每门课程的成绩点乘对应学分......
def gekechengjixuefen():
    leijiazhi = 0
    a = ["大学英语", "高等数学", "大学物理", "高等代数", "程序设计基础"]
    for i in a:
        x = eval(input('输入{}学科学分:'.format(i)))
        xuefen.append(x)
        print("学生{}的{}学科的学分:{}".format(name, i, x))
    for j in range(len(chengjidian)):
        b = chengjidian[j] * xuefen[j]
        leijiazhi = leijiazhi + b
    print("学生{}用每门课程的成绩点乘对应学分累加的值为:{}".format(name, leijiazhi))


# 3.用总成绩点除各门课的总学分......
def zongchengjidianchugemenzongxuefen():
    leijiazhi = 0
    for i in range(len(chengjidian)):
        leijiazhi = leijiazhi + i
    shuju.append(leijiazhi)
    for j in range(len(xuefen)):
        leijiazhi = leijiazhi + j
    shuju.append(leijiazhi)
    zongxuefen = shuju[0] / shuju[1]
    print("学生{}用总成绩点除各门课的总学分GPA点为:{}".format(name, zongxuefen))


gekechengjijidian()
gekechengjixuefen()
zongchengjidianchugemenzongxuefen()



这里没有输入类型的判断和为空的判断,输入数据的时候注意下!