首页 > 解决方案 > NameError:名称'dict1'未定义?为什么会出现这个错误?

问题描述

这段代码说 dict1 没有定义。我已经在全球范围内定义了字典。它应该可以在函数内部访问。请指导。

在这段代码中,我试图将键值对添加到 dict1,如果键值对不存在于 dict 中,否则它将从 dict 中获取值。

def find_sum(num_str):
    sum1=0
    for i in num_str:
        sum1+=int(i)
    return sum1
    

def find_ten_substring(num_str):
    list1=[]
   
    for i in range(2,len(num_str)+1):
        for j in range(0, i):
            if(i!=j ):
                x=num_str[j:i]
                if(x in dict1):
                    if(dict1[x]==10):
                        list1.append(x)
                elif(x not in dict1):
                    y=find_sum(x)
                    
                    if(y==10):
                        dict1[x]=y 
                        list1.append(x)
    
    return list1
    
    #Remove pass and write your logic here
    return list1
    
dict1={}
num_str="2825302"
print("The number is:",num_str)
result_list=find_ten_substring(num_str)
print(result_list)

标签: pythondictionaryvariablesglobal

解决方案


该代码在 python 3.7.3 中对我来说非常好。

The number is: 2825302

['28', '82', '253', '2530', '5302']

这是我收到的输出


推荐阅读