无法对Python中的字符串列表求和?

时间:2019-11-14 17:38:55

标签: python list sum

我只想打印输入到列表中的数组值的长度和总和。

这是我的代码:

arr = list()
for x in range(1,6):
    print("Enter num ", x ," :")
    name = input()
    arr.append(name)
print ("ARRAY: ",arr)
l = len(arr)
s = sum(arr)
print (int(l,s))

输出为:

ARRAY:  ['4', '2', '3', '4', '6']                                                                                                                                                  
Traceback (most recent call last):                                                                                                                                                 
  File "main.py", line 8, in <module>                                                                                                                                              
    s = sum(arr)                                                                                                                                                                   
TypeError: unsupported operand type(s) for +: 'int' and 'str'

2 个答案:

答案 0 :(得分:1)

您的代码有两个问题。

  • input返回一个字符串,因此需要先将其转换为整数,然后才能sum的值。

  • print (int(l,s))并没有任何意义。如果查看int的文档,您会看到您正在传递s作为该函数的基础,但是它将失败,因为只能在第一个参数为字符串。

这是固定版本。我还使用f-stringx放置在输入提示中:

arr = list()
for x in range(1, 6):
    name = int(input(f"Enter num {x}: "))
    arr.append(name)
print("ARRAY: ", arr)
l = len(arr)
s = sum(arr)
print(l, s)

答案 1 :(得分:0)

尝试以下方法:

arr = list()
for x in range(1,6):
    print("Enter num ", x ," :")
    name = int(input())
    arr.append(name)
print ("ARRAY: ",arr)
l = len(arr)
s = sum(arr)
print (l,s)