0
我想編碼一個標準偏差項目,並且遇到錯誤,我將在下面留下我的代碼。不知道究竟是什麼導致了這個錯誤,如果任何人可以請留下一個更正或如何解決這個下面,我將不勝感激。Python 3錯誤:TypeError:不支持的操作數類型(s)+ =:'int'和'str'
Billy = {
'Homework':[76, 88, 90, 95, 54],
'Quiz':[89, 97, 54],
'Test':[78, 89]
}
Martha = {
'Homework':[74, 66, 90, 100, 98],
'Quiz':[67, 80, 99],
'Test':[88, 98]
}
Robert = {
'Homework':[89, 76, 65, 99, 87],
'Quiz':[88, 98, 73],
'Test':[81, 92]
}
#Sum
def grades_sum(homework):
total = 0
for grade in homework:
total += grade
return total
print(grades_sum(Billy))
#Average
def grades_average(grades):
sum_of_grades = grades_sum(grades)
average = sum_of_grades/float(len(grades))
return average
它返回以下錯誤:
Traceback (most recent call last):
File "python", line 26, in <module>
File "python", line 23, in grades_sum
TypeError: unsupported operand type(s) for +=: 'int' and 'str'
此代碼不會導致該錯誤。你能否包含實際導致問題的代碼? – Mureinik
你需要指定你正在訪問的字典的哪些元素:編輯this =>作爲作業的成績['Homework']: 您也可以將'Homework'作爲變量 – RysDe
正確'print(grades_sum(Billy))'到'print(grades_sum(Billy ['Homework']))' – dawg