目标是构建一个程序,将分数从“ 0到1”系统转换为“ F到A”系统:
- 如果
score >= 0.9
会打印“ A” - 如果
score >= 0.8
会打印“ B” - 0.7,C
- 0.6,D
- 然后在该点以下的任何值打印F
这是构建它的方法,它可以在程序上运行,但是有些重复:
if scr >= 0.9:
print('A')
elif scr >= 0.8:
print('B')
elif scr >= 0.7:
print('C')
elif scr >= 0.6:
print('D')
else:
print('F')
我想知道是否有一种构建函数的方法,以使复合语句不会那么重复。
我是一个初学者,但是会喜欢以下内容:
def convertgrade(scr, numgrd, ltrgrd):
if scr >= numgrd:
return ltrgrd
if scr < numgrd:
return ltrgrd
有可能吗
这样做的目的是稍后可以通过仅将scr,numbergrade和letter grade作为参数传递来进行调用:
convertgrade(scr, 0.9, 'A')
convertgrade(scr, 0.8, 'B')
convertgrade(scr, 0.7, 'C')
convertgrade(scr, 0.6, 'D')
convertgrade(scr, 0.6, 'F')
如果可以传递更少的参数,那就更好了。