代码如下,为什么无法输出正确答案

img

img

def solution(lst):
    if len(lst)==0:
        return []
    result=[0,0]
    for i in lst:
        if i>0:
            result[0]+=1
        else:
            result[1]+=i
    return result


 觉得有用的话采纳一下哈

你应该先统计,最后再加入数组啊。怎么没检查一个就加入数组呢

不是在每次循环中计数,而是要在循环中求和。

def solution(lst):
    cnt = 0
    lsum = 0
    for i in lst:
        if i > 0:
            cnt+=1
        else:
            lsum += i
    return [cnt, lsum]
print(solution([92,6,73,-77,81,-90,99,8,-85,34]))
print(solution([92]))
print([])

F:\2021\qa\ot2>t7
[7, -252]
[1, 0]
[]