Mục tiêu là xây dựng một chương trình để chuyển đổi điểm số từ hệ thống '0 thành 1' sang hệ thống 'F thành A':
- Nếu
score >= 0.9
sẽ in 'A' - Nếu
score >= 0.8
sẽ in 'B' - 0,7, C
- 0,6, D
- Và bất kỳ giá trị nào dưới điểm đó, in F
Đây là cách để xây dựng nó và nó hoạt động trên chương trình, nhưng nó hơi lặp đi lặp lại:
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')
Tôi muốn biết nếu có một cách để xây dựng một hàm sao cho các câu lệnh ghép sẽ không lặp lại.
Tôi là một người mới bắt đầu, nhưng sẽ có thứ gì đó trong dòng:
def convertgrade(scr, numgrd, ltrgrd):
if scr >= numgrd:
return ltrgrd
if scr < numgrd:
return ltrgrd
có khả năng?
Ý định ở đây là sau này chúng ta có thể gọi nó bằng cách chỉ chuyển các lớp Scr, số và chữ cái làm đối số:
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')
Nếu nó có thể vượt qua ít đối số hơn, nó sẽ còn tốt hơn nữa.