Python初心者です
Pythonを勉強中なのですが
点数を入力して点数に応じた評価を返すという簡単なプログラムを作成しました
現在数値以外の入力は今は考えないものとしています
int型の変数をstr.format()メソッドを使って
文字列としてint型の変数をprint()メソッドで出力しようとしたのですが以下のエラーが出ます
TypeError: descriptor 'format' requires a 'str' object but received a 'int'
少しプログラムを修正すると一応動くようにはなったのですが
調べてもエラーの意味や、どういう違いで動かなかったのかということが
具体的に理解できておらず、教えていただきたいです
環境はPython3.7.1になります
よろしくお願いいたします
動くプログラム
evaluation = "NULL"
i = input("点数を入力:")
score = int(i)
if score>=0 and score<=59:
evaluation = "F"
elif score>=60 and score<=69:
evaluation = "C"
elif score>=70 and score<=79:
evaluation = "B"
elif score>=80 and score<=89:
evaluation = "A"
elif score>=90 and score<=100:
evaluation = "S"
if evaluation != "NULL":
print(str.format(i) + "点の評価は" + evaluation + "です")
else:
print("エラー:0~100までの数値を入力してください。")
問題の動かないプログラム
evaluation = "NULL"
score = int(input("点数を入力:"))
if score>=0 and score<=59:
evaluation = "F"
elif score>=60 and score<=69:
evaluation = "C"
elif score>=70 and score<=79:
evaluation = "B"
elif score>=80 and score<=89:
evaluation = "A"
elif score>=90 and score<=100:
evaluation = "S"
if evaluation != "NULL":
print(str.format(score) + "点の評価は" + evaluation + "です")
else:
print("エラー:0~100までの数値を入力してください。")