如何使用Python

时间:2015-12-13 17:57:26

标签: list python-3.x recursion split sequence

我需要为学校完成此代码 程序应该在列表中找到序列拆分的索引。 例如,对于像这样的列表的输入

[66, 81, 83, 96, 13, 19, 30, 41, 44, 57]

正确的输出应为4(序列中断的数字索引 - 96)

我的函数能够找到拆分,但我不知道如何返回该拆分的索引。它总是返回错误答案。

这是我的代码:

def findSplit( list ):

    if len(list)%2 == 0:
        if list[(len(list)//2)-1] == list[0]:
            return 1

        elif list[(len(list)//2)-1]<list[0]:
            return  findSplit(list[:(len(list)//2)]) - len(list)//2

        elif list[(len(list)//2)-1]>list[0]:
            return findSplit(list[(len(list)//2)-1:]) + len(list)//2

    elif len(list)%2 != 0:
        if list[(len(list)//2)]<list[0]:

            return  findSplit(list[:(len(list)//2)+1]) - len(list)//2

        elif list[(len(list)//2)]>list[0]:

            return findSplit(list[(len(list)//2):]) + len(list)//2  

if __name__ == "__main__":

    list = [ 66, 81, 83, 96, 13, 19, 30, 41, 44, 57 ]

    line = input().strip().split()
    if line != []:
        list = []
        for x in line:
            list.append( int( x ) )

    print(findSplit( list ))

0 个答案:

没有答案