Python 3.7.3 Не может добавить последний элемент последовательности в новый список

#python

Вопрос:

В моем коде идея выглядит так:

В последовательности [5,1,2,4,3], где эта последовательность находится в не строго возрастающем порядке, я хочу добавить увеличивающийся элемент в другой список.

В этом случае возвращаемый список должен быть [1,2,4]

Но я получаю [1,2]

Мой код выглядит так:

 def max_increase(seq):
    list1 = []
    index = 0
    for index in range(len(seq)-1):
        if seq[index] < seq[index   1]:
            list1.append(seq[index])
            index = index   1
        else:
            pass
    return list1
 

Я думаю, что функция не достигла последнего элемента в последовательности, но я не знаю, как это исправить.

Комментарии:

1. Ваш отступ неверен.

2. В приведенном вами примере последнее сравнение будет между 4 и 3. 4 не меньше 3, поэтому оно не будет добавлено в новый список. Кроме того, цикл for уже увеличивает индекс, поэтому вам не нужна index = index 1 строка

Ответ №1:

seq = [5,1,2,4,3]

значение максимального увеличения(seq):

 list1 = []
list1.append(seq[0])

for index in range(1,len(seq)-1):
    list1.append(seq[index])
    
    if list1[0] > list1[1] :
        del list1[0]
    
    elif list1[len(list1) - 2] < list1[len(list1) - 1]:
        pass
    
    else :
        del list1[len(list1) - 1]
return list1
 

max_increase(seq)

Вот ваш ответ, но этот код работает только для одной увеличивающейся строки. Вы поймете это, когда запустите код. Если вы хотите добавить несколько элементов, таких как seq = [1,2,3,1,2,3], вам придется добавить дополнительные условия перед командой del в else. Просто подумайте, как бот и все дела, и вы найдете свой ответ.