Tujuannya adalah untuk membangun program untuk mengonversi skor dari sistem '0 ke 1' ke sistem 'F ke A':
- Jika
score >= 0.9
mau mencetak 'A' - Jika
score >= 0.8
mau mencetak 'B' - 0,7, C
- 0,6, D
- Dan nilai apa pun di bawah titik itu, cetak F
Ini adalah cara untuk membuatnya dan bekerja pada program, tetapi ini agak berulang:
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')
Saya ingin tahu apakah ada cara untuk membangun fungsi sehingga pernyataan majemuk tidak akan berulang.
Saya seorang pemula total, tetapi akankah ada sesuatu di baris:
def convertgrade(scr, numgrd, ltrgrd):
if scr >= numgrd:
return ltrgrd
if scr < numgrd:
return ltrgrd
menjadi mungkin?
Maksudnya di sini adalah bahwa nanti kita bisa menyebutnya dengan hanya meneruskan scr, numbergrade, dan grade surat sebagai argumen:
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')
Jika dimungkinkan untuk mengeluarkan lebih sedikit argumen, itu akan lebih baik.