def finding(list_1, numb): list_2 = [] for i in range(len(list_1)): for j in range(i, len(list_1)): listing = list_1[i:j+1] #寻找子数组 if sum(listing) == numb: list_2.append(listing) return list_2 def printing(): list_1 = input("输入列表:") numb = float(input("输入数字:")) list_1 = list_1[1:-1].split(",") # 去掉方括号和引号 list_1 = list(map(float, list_1)) # 浮点数 list_1.sort() # 排序 answers =finding(list_1,numb) print(answers) printing()
lst_input=eval(input('列表')) number_input=float(input('数字')) def jisuan(lst=lst_input,number=number_input): result=[] zong=0 for left in range(0,len(lst)+1): for right in range(left,len(lst)): lst_=lst[left:right+1] for i in lst_: zong=zong+i if zong==number: result.append(lst_) zong=0 return result jisuan()