目標は、スコアを「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、およびletter gradeを引数として渡すだけで呼び出すことができるようにすることです。
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')
より少ない引数を渡すことが可能である場合、それはさらに良いでしょう。