我有一本字典如果從字典比較列出
alice = {
"name": "Alice",
"homework": [100.0, 92.0, 98.0, 100.0],
"quizzes": [82.0, 83.0, 91.0],
"tests": [89.0, 97.0]
}
而這需要一個列表
def average(numbers):
return float(sum(numbers))/len(numbers)
我想Python函數get_average(平均)的功能,通過一本字典閱讀。之後,我希望函數能夠獲取字典中列表的平均值,然後將該列表的平均值與特定數字相乘(評分權重爲.10作爲作業,0.30作爲測驗,或者60作爲測試),並給出加權作業,測驗和測試的總數。我正在使用if語句來檢查從字典中for循環中選擇的列表是否爲作業,測驗或測試。
def get_average(alice):
hw=0
qz=0
ts=0
for assignment in student:
if assignment== ["homework"]:
hw=average(assignment)*.10
if assignment==["quizzes"]:
qz=average(assignment)*.30
if assignment==["tests"]:
ts=average(assignment)*.60
return hw+qz+ts
這隻返回零。它應該是91.15
我是新來的蟒蛇。當你輸入「分配,分數......」是字典中的分數呢? – fathalpert
在這種情況下,爲了將來的兼容性,最好使用'dict.items()'而不是'iteritems()'。 – Keith
如果他使用python3 yes,但對於python2 iteritems將會減少內存和時間密集度......對於像這樣的3個元素字典而言,這並不重要,但作爲一個原則,它應該顯示iteritems。對? – austin1howard