Das Ziel ist es, ein Programm zu erstellen, um Punktzahlen von einem '0 zu 1'-System in ein' F zu A'-System umzuwandeln:
- Wenn
score >= 0.9
würde 'A' drucken - Wenn
score >= 0.8
würde 'B' drucken - 0,7, C.
- 0,6, D.
- Und jeder Wert unter diesem Punkt druckt F.
Dies ist der Weg, um es zu erstellen und es funktioniert auf dem Programm, aber es ist etwas repetitiv:
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')
Ich würde gerne wissen, ob es eine Möglichkeit gibt, eine Funktion so zu erstellen, dass sich die zusammengesetzten Anweisungen nicht so oft wiederholen.
Ich bin ein absoluter Anfänger, würde aber etwas in der Art von:
def convertgrade(scr, numgrd, ltrgrd):
if scr >= numgrd:
return ltrgrd
if scr < numgrd:
return ltrgrd
möglich sein?
Die Absicht hier ist, dass wir es später aufrufen können, indem wir nur scr, numbergrade und letter grade als Argumente übergeben:
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')
Wenn es möglich wäre, weniger Argumente zu übergeben, wäre es sogar noch besser.