akcw 发表于 2021-4-11 21:40:40

嵌套列表求和,能运行,但结果都是1,新人求助

def sumlist(nums):
    list_nums =
    for i in list_nums:
      list_a=[]
      list_b=[]
      if len(i) == 1:
            list_a.append(i)
            list_a=list_a[:]
      else:
            list(map(int,i))
            a=sum(i)
            list_b.append(a)
            list_b=list_b[:]
      list_c=list_a+list_b
      list_c=list(map(int,list_c))
      return sum(list_c)
nums=eval(input())
sumv=sumlist(nums)
print(sumv)
            

wp231957 发表于 2021-4-11 21:47:19

没有样例输入输出

qq1151985918 发表于 2021-4-12 09:07:45

没太看懂你的意思,根据你问题简单写了个代码,不知道这个是不是你想要的。
lst = ,]]]

def f(lst):
    getsum = 0
    for i in lst:
      if type(i) == type(lst):
            getsum += f(i)
      else:
            getsum += i
    return getsum

print(f(lst))

Stubborn 发表于 2021-4-12 10:33:48

本帖最后由 Stubborn 于 2021-4-12 10:36 编辑

你接受的样例是一串字符串,直接丢给函数遍历,这样的结果是:12315464564, 不管你带不带空格分隔开,你直接遍历《list_nums = 》转化,全部是一位的长度。而且你的代码逻辑只会遍历一次,就直接返回结果。

样例输入时候,使用空格分隔开,处理函数,把样例找空格分隔开转化成整型然后进行求和
def sumlist(nums):
    list_nums =
    return sum(list_nums)
nums=eval(input())
sumv=sumlist(nums)
print(sumv)

akcw 发表于 2021-4-12 22:54:41

Stubborn 发表于 2021-4-12 10:33
你接受的样例是一串字符串,直接丢给函数遍历,这样的结果是:12315464564, 不管你带不带空格分隔开,你直 ...

感谢
页: [1]
查看完整版本: 嵌套列表求和,能运行,但结果都是1,新人求助