我是编码新手。因此,任何相关帮助将不胜感激。
到目前为止,我只得到了:
integer=int(input("Enter list of integers"))
但是必须输入用户输入,并用逗号分隔。所以1,2,3取其总和。我已经获得了可以工作的代码,但是仅当用户输入为123而不是1,2,3时,它才有效。谁能帮我吗?
问题的照片
您可以尝试这个
def sum_recurrsive(n, arr):
if n-1 == 0:
return arr[0]
return arr[n-1] + sum_recurrsive(n-1, arr)
arr = map(int, input("Enter list of integers: ").split(","))
print(sum_recurrsive(len(arr), arr))
Eval是python函数,无论您输入什么,它都可以自动解析输入的数据并将其转换为列表,字典等!但这很危险,因为如果不对数据进行清理,则数据可能会被劫持,并且永远不能在生产环境中使用!供参考,我附有示例代码!
码myList=eval(input("Enter List:"))
print(type(myList))
输入列表:[1,2,3,4]
((类型:列表)
您可以有效地使用for和while循环来解析数据并自动创建列表,示例代码
L=input("Enter List:").split(",")
myList = []
for i in L:
myList.append(int(i))
print(myList)
还有许多其他基于方法的解决方案,但我建议第二种,因为它更安全,并且可以根据整数对数据进行清理!
尝试:
def recur_sum(n):
if len(n) <= 1:
return n[0]
else:
return n.pop() + recur_sum(n)
integer = list(map(int, input().split(",")))
print("The sum is: ", recur_sum(integer))