欢迎光临我的blog!专栏记录本萌新初学python解题情况,欢迎大家交流思考
题目如上,较为简单,需掌握字典
【解】
首先获取输入的百分制成绩,并四舍五入
score=eval(input('请输入百分制分数:'))
score = round(score)
*这里用到round函数,原理“四舍五入,奇进偶舍”
然后将百分制成绩和成绩等级、GPA对应存放于字典中
dic={95:["A+",4.33],90:["A",4.00],85:["A-",3.67],82:["B+",3.33],78:["B",3.00],75:["B-",2.67],
72:["C+",2.33],68:["C",2.00],64:["C-",1.67],61:["D+",1.33],60:["D",1.00],0:["F",0]}
此时键已经降序排列,一一比较找到score所属成绩区间
i=0
while i<len(dic):
if score < list(dic.keys())[i]:
i += 1
else:
break
*退出循环时i指向所属区间位置
最后输出成绩等级以及GPA
print("对应的成绩等级是"+list(dic.values())[i][0])
print("对应的GPA是"+str(list(dic.values())[i][1]))
完整代码如下
score=eval(input('请输入百分制分数:'))
score = round(score)
dic={95:["A+",4.33],90:["A",4.00],85:["A-",3.67],82:["B+",3.33],78:["B",3.00],75:["B-",2.67],
72:["C+",2.33],68:["C",2.00],64:["C-",1.67],61:["D+",1.33],60:["D",1.00],0:["F",0]}
i=0
while i<len(dic):
if score < list(dic.keys())[i]:
i += 1
else:
break
print("对应的成绩等级是"+list(dic.values())[i][0])
print("对应的GPA是"+str(list(dic.values())[i][1]))
水平有限,请多多包涵!
欢迎在评论区发表您的意见!!谢谢啦