请问我哪里写错了,为什么我最后答案输出no呢?

#Python
学到列表和元组了,这是列表元组的题,希望各位指出,感谢各位了

img

img

第八行应该是赋值,而不是判等

flag=True

# 一开始采用暴力解法,超出了时间限制
class Solution:
    def subarraySum(self, nums: List[int], k: int) -> int:
        result=0
        for i in range(len(nums)):
            s=nums[i]
            if s==k:
                result+=1
            for j in range(i+1,len(nums)):
                s+=nums[j]
                if s==k:
                    result+=1
        return result
# 改为如下代码
def subarraySum(nums, k):
    dic = {}
    # 注意此处如果没有dic[0]=1的话,后面必须要有对单个元素等于k的判断;如果有判断的话则不需要dic[0]=1
    # dic[0]=1
    acc, res = 0, 0
    for num in nums:
        acc += num
        if acc == k:
            res += 1
        if acc - k in dic:
            res += dic[acc - k]
        dic[acc] = dic.get(acc, 0) + 1
    return res