Python编程练习与解答 练习68:计算平均绩点

       练习52包括一个表,表中显示了某一特定学术机构从字母成绩到绩点的转换。本练习将计算用户输入的任意数量字母等级的平均绩点。用户输入一个空白行,表明所有分数都已提供。例如,如果用户输入A,然后是C+,然后是B,然后是空行,那么程序应该报告的绩点平均值是3.1。
       完成这个练习时,会发现52题的答案很有帮助,程序不需要做任何错误检查,它可以假设用户输入的每个值都是有效的字母等级或空行。

练习52:

在一所特定的大学,字母成绩采用下方式映射到绩点

字母绩点
A+4
A4
A_3.7
B+3.3
B3
B_2.7
C+2.3
C2
C_1.7
D+1.3
D1
F0

#定义总分和科目数
con=0
num=0
#第一次输入成绩
letter = (input("请输入字母成绩"))
# 注意“==”和“=”的区别,“==”用来比较变量值是否相等,“=”用来赋值
#开始输入成绩,使用while循环
while letter!="":
    # 定义字母绩点
    A_plus = 4.0
    A = 4.0
    A_ = 3.7
    B_plus = 3.3
    B = 3.0
    B_ = 2.7
    C_plus = 2.3
    C = 2.0
    C_ = 1.7
    D_plus = 1.3
    D = 1.0
    F = 0
    # 注意“==”和“=”的区别,“==”用来比较变量值是否相等,“=”用来赋值
    if letter == "A_plus" or letter == "A": #注意输入的形式是字符串
        GAP = A                             #此时A等于4.0,已对其进行赋值
    elif letter == "B_plus":
        GAP = B_plus
    elif letter == "B":
        GAP = B
    elif letter == "B_":
        GAP = B_
    elif letter == "C_plus":
        GAP = C_plus
    elif letter == "C":
        GAP = C
    elif letter == "C_":
        GAP = C_
    elif letter == "D_plus":
        GAP = D_plus
    elif letter == "D":
        GAP = D
    elif letter == "F":
        GAP = F
    #对总成绩及科目书定义
    num += 1
    con += GAP
    # 第一次循环结束,开始第二次循环
    #输入下一科成绩
    letter=(input("请输入字母成绩"))
#注意缩进,此时已经跳出循环
average=con/num
print("平均成绩为%.2f"%average)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值