编写一个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
语句可以跟踪数据和控制流。请参阅此可爱的调试博客以获取帮助。