Найти числа между максимальным и минимальным в списке

Имеется массив A из N произвольных чисел. Найти максимальное и минимальное число. Напечатать те элементы массива, которые находятся между ними. Я только учусь и поэтому смог только написать это:

A = []
N = int(input('Сколько в массиве будет элементов '))

for i in range(N):
    A.append(int(input()))

a1 = max(A)
a2 = min(A)

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

Автор решения: Jack_oS
array = []
n = int(input('Сколько в массиве будет элементов '))

for i in range(n):
    array.append(int(input(f'{i+1}-е число: ')))

допустим, после заполнения вы получили такой список:

[3, 5, -1, 2, 13, 42, 3, 7, 1]

вам нужны индексы минимального и максимального элемента:


index_min = index_max = 0
value_min = value_max = array[0]

for i, a in enumerate(array[1:], 1):
    if a < value_min:
        value_min = a
        index_min = i
    if a > value_max:
        value_max = a
        index_max = i

зная их, выведите срезом то, что между ними:

>>> print(array[index_min+1:index_max])
[2, 13]

UPD Если индекс минимального элемента может быть больше индекса максимального, перед срезом стОит это проверить:

if index_min < index_max:
    print(array[index_min+1:index_max])
else:
    print(array[index_max+1:index_min])

Спасибо CrazyElf за уточнение!

→ Ссылка
Автор решения: EzikBro
A = []
N = int(input('Сколько в массиве будет элементов '))

for i in range(N):
    A.append(int(input()))

index_min, index_max = A.index(min(A)), A.index(max(A))
l, r = sorted([index_min, index_max])

print(A[l:r+1])

index_min, index_max = A.index(min(A)), A.index(max(A)) ищет индексы минимума и максимума.

l, r = sorted([index_min, index_max]) упорядочивает индексы минимума и максимума для того, чтобы соотнести их с левой и правой границами среза.

→ Ссылка