L'objectif est de construire un programme pour convertir les scores d'un système «0 à 1» en un système «F à A»:
- Si
score >= 0.9
imprimerait 'A' - Si
score >= 0.8
imprimerait «B» - 0,7, C
- 0,6, D
- Et toute valeur en dessous de ce point, imprimez F
C'est la façon de le construire et cela fonctionne sur le programme, mais c'est un peu répétitif:
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')
Je voudrais savoir s'il existe un moyen de construire une fonction afin que les instructions composées ne soient pas aussi répétitives.
Je suis un débutant total, mais je dirais quelque chose comme:
def convertgrade(scr, numgrd, ltrgrd):
if scr >= numgrd:
return ltrgrd
if scr < numgrd:
return ltrgrd
être possible?
L'intention ici est que plus tard nous pouvons l'appeler en ne passant que les arguments scr, numbergrade et letter grade comme arguments:
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')
S'il était possible de passer moins d'arguments, ce serait encore mieux.