Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python在用户自定义列表中使用sum()_Python_List_Sum_Average_User Input - Fatal编程技术网

Python在用户自定义列表中使用sum()

Python在用户自定义列表中使用sum(),python,list,sum,average,user-input,Python,List,Sum,Average,User Input,所以,这个项目中我无法完成的部分是求和函数。 它在以下时间工作: a = [1, 2, 3, 4, 5] b = sum(a) print b 但在我的程序中,我有一个用户创建的列表,并且总和不断得到一个错误。len可行,但我也需要这个总数来获得平均值 namelist = [] agelist = [] while True: name = raw_input("Enter a name or

所以,这个项目中我无法完成的部分是求和函数。 它在以下时间工作:

    a = [1, 2, 3, 4, 5]
    b = sum(a)
    print b
但在我的程序中,我有一个用户创建的列表,并且总和不断得到一个错误。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
我怎样才能让sumage工作? 它不工作是因为我没有定义列表的长度吗?

变量age的类型为string,因此需要将其转换为整数:

agelist.append(int(age))

错误的原因是agelist是用户输入的字符串列表,在添加这些输入之前,您需要将它们转换为整数或浮点数,具体取决于您想要的平均值:Python 2中的整数或浮点数:

sumage = sum(map(int, agelist)) # OR, replace int with float

您应该将年龄从str转换为intcast再转换为int!哇!谢谢成功了!