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

时间:2019-06-26 17:27:32

标签: python loops

编写一个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)

1 个答案:

答案 0 :(得分:1)

您明确要求它在找到一个解决方案后立即退出。看一下外部循环的底部:

sumi=0
substr=''
break

这将重置累积变量,但会中断循环而不是重复。删除break并返回到代码开发-从没有任何返回值开始,您还有其他错误。

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