Celem jest zbudowanie programu do konwersji wyników z systemu „0 na 1” na system „F na A”:
- Gdyby
score >= 0.9
wydrukował „A” - Gdyby
score >= 0.8
wydrukował „B” - 0,7, C
- 0,6, D
- I każdą wartość poniżej tego punktu, wydrukuj F.
Jest to sposób na zbudowanie go i działa w programie, ale jest nieco powtarzalny:
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')
Chciałbym wiedzieć, czy istnieje sposób na zbudowanie funkcji, aby instrukcje złożone nie były tak powtarzalne.
Jestem całkowicie początkującym, ale chciałbym coś w stylu:
def convertgrade(scr, numgrd, ltrgrd):
if scr >= numgrd:
return ltrgrd
if scr < numgrd:
return ltrgrd
dać?
Chodzi o to, że później możemy to nazwać, przekazując argumenty scr, numergrade i ocenę liter jako argumenty:
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')
Gdyby można było przekazać mniej argumentów, byłoby jeszcze lepiej.