代码的简化(负基础菜鸟) 题目:成绩按照分数划分等级,90分及以上为A,80-90为B,60-80为C,60分以下为D。 要求:当用户输入分数,自动转换为A B C 或 D
根据题目,我们可以直观地写出一段代码
score = int(input("请输入一个分数:"))
if 100 >= score >= 90:
print("A")
if 90 > score >= 80:
print("B")
if 80 > score >= 60:
print("C")
if 60 > score >= 0:
print("D")
if score < 0 or score > 100:
print("输入错误!")
很显然,程序即使在第一次判断便成立,也不能立刻结束,还需要继续对后面的四个条件进行判断,直到后面所有的条件都不符合,最后才退出程序。
既然这么麻烦,那我们就开启简化之路吧!
首先我们可以利用else的分支,将其写为
score = int(input("请输入一个分数:"))
if 100 >= score >= 90:
print("A")
else:
if 90 > score >= 80:
print("B")
else:
if 80 > score >= 60:
print("C")
else:
if 60 > score >= 0:
print("D")
else:
print("输入错误!")
上面的代码还可以简写为
score = int(input("请输入一个分数:"))
if 100 >= score >= 90:
print("A")
elif 90 > score >= 80:
print("B")
elif 80 > score >= 60:
print("C")
elif 60 > score >= 0:
print("D")
else:
print("输入错误!")
能不能把它再简化一点呢?
当然可以!!!
当我们运用三元操作符后,代码就可以简写成下面这个亚子:
score = int(input("请输入一个分数:"))
level = "A" if 100 >= score >= 90 else "B" if 90 > score >= 80 else "C" if 80 > score >= 60 else "D" if 60 > score >= 0 else print ("输入错误!")
print(level)
over !!!



