Untitled
unknown
python
2 years ago
1.8 kB
15
Indexable
# Число для удаления из которого будем удалять n = list(map(int,list('102087607280291102'))) k = int(11) # Количество цифр которые нужно удалить lenght = len(n) - k # Длина списка после удаления n2 = [] # Список для новых чисел # function to find the second max number in the list def second_max(n): max1 = max(n) max2 = -1 for i in n: if i != max1: if max2 == -1: max2 = i elif i > max2: max2 = i return max2 for i in range(len(n)): try: # Проверяем есть ли в списке еще цифры if len(n2) != lenght and n.index(max(n)) <= lenght: # Длина списка после удаления всех чисел до максимального числа должна быть больше или равна длине списка после удаления n2.append(max(n)) # Добавляем максимальное число в список n = n[n.index(max(n))+1:] # Удаляем все числа до максимального числа в списке максимальное число тоже удаляем elif len(n2) != lenght and n.index(max(n)) >= lenght: # Если первое условие не сработало значит нужно найти второй самый большой элемент списка n2.append(second_max(n)) n = n[n.index(second_max(n))+1:] except: break # Где то в коде ошибка которая удаляет нужные цифры и в итоге длина списка получается не та # print(n2)
Editor is loading...