+6 投票
分类:问答挑战 | 用户: 10 9 8 (5.7k 分)
给定一个由整数组成的列表和一个目标数字,编写一个Python函数,该函数将返回所有相加等于目标数字的连续子数组。例如,对于输入列表`[1, 2, 3, 4, 5]`和目标数字`9`,函数应该返回`[[2, 3, 4], [4, 5]]`。

2 个回答

+1 投票
用户: 8 5 3 (2.1k 分)
采纳于 用户:
 
已采纳
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()
+1 投票
用户: 10 10 9 (8.6k 分)
修改于 用户:
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()
用户: 8 5 3 (2.1k 分)
修改于 用户:
没有输入功能
欢迎来到 在线问答系统 ,有什么不懂的可以尽管在这里提问,你将会收到社区其他成员的回答。
...