因此,我无法工作的这个项目的部分是sum()
函数。
它适用于:
a = [1, 2, 3, 4, 5]
b = sum(a)
print b
但在我的程序中,我有一个用户创建的列表,sum()
一直出错。 len()
有效,但我也需要总和来获得平均值。
namelist = []
agelist = []
while True:
name = raw_input("Enter a name or type Exit to end data entry: ")
namelist.append(name)
if name == "Exit": #creates an exit point from data entry
break
age = raw_input("How old is " + name + "? ")
agelist.append(age)
lenage = len(agelist)
sumage = sum(agelist) #here is the problem -<<
avgage = sumage / lenage
print avgage
我怎样才能获得工作的感觉? 它不起作用,因为我没有定义列表有多长?
答案 0 :(得分:3)
变量age
具有类型字符串,因此您需要将其转换为整数:
agelist.append(int(age))
答案 1 :(得分:1)
错误的原因是agelist
是一个字符串列表(来自用户的输入),并且在您可以&#34;添加&#34;之前那些输入你需要将它们转换为整数或(可能)转换为浮点数(取决于你想要的平均值:Python 2中的整数或浮点数):
sumage = sum(map(int, agelist)) # OR, replace int with float