เป้าหมายคือการสร้างโปรแกรมเพื่อแปลงคะแนนจากระบบ '0 ถึง 1' เป็นระบบ 'F ถึง A':
- ถ้า
score >= 0.9
จะพิมพ์ 'A' - ถ้า
score >= 0.8
จะพิมพ์ 'B' - 0.7, C
- 0.6, D
- และค่าใด ๆ ที่ต่ำกว่านั้นให้พิมพ์ F
นี่คือวิธีสร้างและใช้งานได้บนโปรแกรม แต่มันค่อนข้างซ้ำ:
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')
ฉันอยากจะรู้ว่ามีวิธีการสร้างฟังก์ชั่นเพื่อให้คำสั่งผสมจะไม่ซ้ำซ้อน
ฉันเป็นผู้เริ่มต้นทั้งหมด แต่จะมีบางสิ่งในสายของ:
def convertgrade(scr, numgrd, ltrgrd):
if scr >= numgrd:
return ltrgrd
if scr < numgrd:
return ltrgrd
เป็นไปได้ไหม
ความตั้งใจที่นี่คือว่าในภายหลังเราสามารถเรียกมันได้โดยผ่าน scr, numbergrade และระดับตัวอักษรเป็นอาร์กิวเมนต์:
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')
ถ้ามันเป็นไปได้ที่จะผ่านการโต้แย้งน้อยลงมันจะดีขึ้นกว่าเดิม