py4e 3.11.3还有改进空间吗?还能再短不~

课程:python for everybody
位置:第三章课后习题第三题
题目:
img

代码:

sc=input("enter score please:")
try:
    sc=float(sc)
    if sc<=0 or sc>=1:
        print("bad sc")
    elif sc>= 0.9:
        print("A")
    elif sc>= 0.8:
        print("B")
    elif sc>= 0.7:
        print("C")
    elif sc>= 0.6:
        print("D")
    elif 0<=sc<0.6:
        print("F")
except:
    print("bad sc")

来点邪道方法

str1 = 'FFFFFFDCBAA'
sc = input("enter score please:")
try:
    print(str1[int(float(sc) * 10)])
except:
    print('bad sc')

可以直接用else输出不合法的情况:

sc=input("enter score please:")
sc=float(sc)
if sc<=0 or sc>=1:
    print("bad sc")
elif sc>= 0.9:
    print("A")
elif sc>= 0.8:
    print("B")
elif sc>= 0.7:
    print("C")
elif sc>= 0.6:
    print("D")
elif 0<=sc<0.6:
    print("F")
else:
    print("bad sc")