如何摆脱嵌套循环并继续进行外循环的迭代



编写一个python函数,find_ten_substring(num_str(,该功能接受字符串并返回该字符串的10个单字符串的列表。

一个数字的10个字符串是其数字的子字符串,总计为10。样品输入='3523014'实际输出= ['5230','23014','523','352']

我尝试了以下代码,它仅打印一个添加10(仅[28](然后终止的子字符串。

def find_ten_substring(num_str):
    sumi=0
    list1=[]
    substr=''
    for i in range(0,len(num_str)):
        for j in range(i,len(num_str)):
            sumi=sumi+int(num_str[j])
            substr=substr+num_str[j]
            if(sumi==10):
                list1.append(substr)
                print(list1)
                break
        sumi=0
        substr=''
        continue
num_str="2825302"
print("The number is:",num_str)
result_list=find_ten_substring(num_str)
print(result_list)

您特别告诉它,一旦发现一个解决方案就会立即退出。查看外圈的底部:

sumi=0
substr=''
break

这重置了累积变量,但然后打破循环而不是重复。删除break并返回您的代码开发 - 您还有其他错误,从缺乏任何返回值开始。

另外,您应该学习基本调试。对于初学者,您的代码中的一些print语句可以跟踪数据和控制流。请参阅此可爱的调试博客以获取帮助。

最新更新