python - 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)
解决方案
该代码在 python 3.7.3 中对我来说非常好。
The number is: 2825302
['28', '82', '253', '2530', '5302']
这是我收到的输出
推荐阅读
- ansible - 如何从 ANsible win_find 返回值仅输出文件的完整绝对路径?
- excel - Excel VBA 宏用于打开、保护、保存和关闭文件夹中的多个文件
- php - Twilio PHP SDK 调用日志
- php - 我正在尝试使用 laravel 刀片模板制作粘性表格
- java - Java重命名文件
- r - R:是否有更好的方法将 grepl() 应用于具有跨多个列的多个元素的向量?
- jquery - jquery.validate.unobtrusive.js 不显示消息
- android - 如何在 Android Studio 中将多模块项目转换为单个模块?
- python-3.x - Python3多处理内存不足问题
- mysql - 我收到以下错误“无法连接到 MySQL 服务器
"