Untitled
unknown
python
3 years ago
1.8 kB
20
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...