El objetivo es crear un programa para convertir puntajes de un sistema '0 a 1' a un sistema 'F a A':
- Si
score >= 0.9
imprimiera 'A' - Si
score >= 0.8
imprimiría 'B' - 0.7, C
- 0.6, D
- Y cualquier valor por debajo de ese punto, imprima F
Esta es la forma de construirlo y funciona en el programa, pero es algo repetitivo:
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')
Me gustaría saber si hay una manera de construir una función para que las declaraciones compuestas no sean tan repetitivas.
Soy un principiante total, pero haría algo en las líneas de:
def convertgrade(scr, numgrd, ltrgrd):
if scr >= numgrd:
return ltrgrd
if scr < numgrd:
return ltrgrd
¿ser posible?
La intención aquí es que luego podamos llamarlo pasando solo el scr, el grado de calificación y la calificación de letra como argumentos:
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')
Si fuera posible pasar menos argumentos, sería aún mejor.