我只想打印输入到列表中的数组值的长度和总和。
这是我的代码:
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'
答案 0 :(得分:1)
您的代码有两个问题。
input
返回一个字符串,因此需要先将其转换为整数,然后才能sum
的值。
此print (int(l,s))
并没有任何意义。如果查看int
的文档,您会看到您正在传递s
作为该函数的基础,但是它将失败,因为只能在第一个参数为字符串。
这是固定版本。我还使用f-string将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)
答案 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)