Вывести элементы списка в определенном порядке

Задача: Дан массив A размера N. Вывести его элементы в следующем порядке: A1, A2, AN, AN–1, A3, A4, AN–2, AN–3 и т.д.

Не совсем понимаю как прописать порядок, смог сделать только A1, AN, A2, AN–1, A3, AN–2 и т.д.

N = 7
A = [random.randrange(1,15) for i in range(N)]
print(A)
while N >= 0:
    print(A[(len(A) - N) // 2])
    if N > 1:
        print(A[(len(A) + N) // 2 - 1])
    N -=2

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

Автор решения: Stanislav Volodarskiy

Печатаете, меняете индекс, печатаете, меняете индекс, и так далее:

a = list(range(20))

i = 0
j = len(a) - 1
while True:
    print(a[i])
    i += 1
    print(a[i])
    i += 1
    print(a[j])
    j -= 1
    print(a[j])
    j -= 1
$ python temp.py
0
1
19
18
2
3
17
16
4
5
15
14
6
7
13
12
...
→ Ссылка