Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.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
Can';t在Python中对字符串列表求和?_Python_List_Sum - Fatal编程技术网

Can';t在Python中对字符串列表求和?

Can';t在Python中对字符串列表求和?,python,list,sum,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']

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

这是我的密码:

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'
数组:['4','2','3','4','6']
回溯(最近一次呼叫最后一次):
文件“main.py”,第8行,在
s=总和(arr)
TypeError:不支持+:“int”和“str”的操作数类型
试试这个:

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)

您的代码有两个问题

  • 返回一个字符串,因此需要将其转换为整数,然后才能对值进行求和

  • 这个
    打印(int(l,s))
    实际上没有任何意义。如果您查看的文档,可以看到您正在传递
    s
    作为函数的基,但它将失败,因为只有在第一个agment是字符串时才能指定基

这是一个固定版本。我还使用了一个按钮在输入提示符中放置
x

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)

将字符串数组转换为int数组,然后求和谢谢你,阿尔宾,我是python编程新手。你能帮我在我的脚本中如何从字符串数组转换为int数组吗?严格来说,你应该能够对字符串列表求和(使用合适的初始值),除非
sum
是硬编码以防止它
sum(['4','2'],'')
应该返回
'42'
,就像
sum([[4],[2]],[])
可以返回
[4,2]
。这不是一个武断的决定——它推荐的
“”。join(x)
sum(x,”)
要有效得多——但是,纯粹出于性能原因禁止一个完全逻辑的操作仍然很烦人。(更糟糕的是,我没有理由认为
sum
不能简单地执行
''。如果它检测到试图对字符串求和,则连接(x)
本身。)是的,它可以工作,但我只从最后一行中删除int:print(int(l,s))print(l,s)