背景: Python の初心者。この質問について検索しましたが、私が見つけた答えは「なぜ」よりも「何」に関するものでした。
私が意図したこと: ユーザーから入力されたテスト スコアを取得し、グレード スケール/カーブに従って文字グレードを出力する関数を作成します。コードは次のとおりです。
score = input("Please enter test score: ")
score = int(score)
def letter_grade(score):
if 90 <= score <= 100:
print ("A")
elif 80 <= score <= 89:
print ("B")
elif 70 <= score <= 79:
print("C")
elif 60 <= score <= 69:
print("D")
elif score < 60:
print("F")
print (letter_grade(score))
これを実行すると、以下が返されます。
Please enter test score: 45
F
None
はNone
意図されていません。letter_grade(score)
そして、代わりにを使用するとprint (letter_grade(score))
、 がNone
表示されなくなることがわかりました。
私が見つけることができた最も近い答えは、「Pythonの関数は、明示的に指示されない限りNoneを返します」のようなものでした。しかし、最後の行で関数を呼び出したので、ここで少し混乱しています。
だから私の質問は次のようになると思います:何が消えたのNone
ですか?これはかなり基本的なことだと思いますが、「舞台裏」のメカニズムを説明する答えを見つけることができませんでした. ですから、誰かがこれに光を当てることができれば幸いです。ありがとうございました!