List 关于Python2.x的一些问题
我对这本词典有些问题 这是我的代码:List 关于Python2.x的一些问题,list,typeerror,indices,List,Typeerror,Indices,我对这本词典有些问题 这是我的代码: tyler = { "name": "Tyler", "homework": [0.0, 87.0, 75.0, 22.0], "quizzes": [0.0, 75.0, 78.0], "tests": [100.0, 100.0] } def average (number): total = 0.0 for i in number: total = total + number[i]
tyler = {
"name": "Tyler",
"homework": [0.0, 87.0, 75.0, 22.0],
"quizzes": [0.0, 75.0, 78.0],
"tests": [100.0, 100.0]
}
def average (number):
total = 0.0
for i in number:
total = total + number[i]
return total/ len(number)
def get_average(student):
return average(student["homework"])*0.1 + average(student["quizzes"])*0.3 + average(student["tests"])*0.6
print get_average(tyler)
错误:TypeError:列表索引必须是整数,而不是浮点
有人能帮忙吗?问题在于您的
平均值功能:
for i in number:
total = total + number[i]
def average(number):
return float(sum(number))/len(number)
在这个循环中,i
被设置为number
数组中的每个值,而不是索引
您的循环可以是:
for i in number:
total = total + i
同样,这是python,而不是for
循环,您可以只使用sum()
函数:
for i in number:
total = total + number[i]
def average(number):
return float(sum(number))/len(number)
我在下面贴了一个答案。您可能希望阅读SO问题中的代码格式,以使其更易于阅读(尽管我看到Haedrian现在已经为您完成了这项工作…),而且,您的标题没有说明问题的内容。