Проверить что массив упорядочен по убыванию

from random import randint 
 
def sort(nums): 
  swapped = True 
  while swapped: 
   swapped = False 
   for i in range(len(nums) - 1): 
    if nums[i] < nums[i + 1]: 
      nums[i], nums[i + 1] = nums[i + 1], nums[i] 
      swapped = True
 
a = [] 
for i in range(5): 
  a.append((1, 100)) 
 
print('first array :',a) 
sort(a) 
print('first sorted array :',a)

Ответы (1 шт):

Автор решения: Владислав Харламов
def check_sort(array):
    return all([x > y for x, y in zip(array, array[1:])])

Функция all принимает итерируемый объект, она перебирает все его значения (приводя к булевому типу) и если они все дают True, то функция возращает True, иначе False. Понятно, чтобы сортировка была выполнена, все элементы должны в своем порядке убывать, поэтому мы создаем список и итерируемый по 0 и 1 индексу в исходном списке, далее 1 и 2 индексу и так далее, сравнивая их все по порядку. Прошу заметить, что конструкция elem_1 > elem_2 возращает True или False в зависимости от того, верно ли сравнение, поэтому функции all ничего приводить не нужно, а только остается проверить, что все элементы True.

→ Ссылка