1. ホーム
  2. python

[解決済み】+のオペランド型が未サポート:'float'と'str'エラー【終了しました

2022-01-27 01:21:11

質問

スコアファイルの内容を足し合わせて平均値を出そうとしているのですが、なかなかうまくいきません。

私のコード

# open and read file student / score
student_file = open("Student.txt", "r")
score_file = open("Score.txt", "r")
student = student_file.read().split(' ')
score = score_file.read().split(' ')
addedScore = 0.0
average = 0.0

for i in range(0,len(student)):

    print("Student: "+student[i]+" Final: "+score[i])          
    addedScore = addedScore + score[i]

average = addedScore / 2
print("The class average is:", average)

スコアファイルにはfloatの数字がたくさん入っています。

90.0 94.0 74.4 63.2 79.4 87.6 67.7 78.1 95.8 82.1

エラーメッセージ

line 12, in <module>
addedScore = addedScore + score[i]
TypeError: unsupported operand type(s) for +: 'float' and 'str'

解決方法は?

以来 score は文字列を分割して作られたので、その要素はすべて文字列です。そのため、文字列にfloatを追加しようとすると、苦情が出ます。 文字列が表す値が欲しいなら、それを計算する必要がある。 float(score[i]) .