Ошибка в коде, нужна помощь пожалуйста!

введите сюда описание изображения

объясните пожалуйста в чём здесь ошибка, сама программа заключается в том что мне нужно заполнить список случайными значениями и после этого поменять 1-ый элемент на 2-ой, 3-ий на 4-ый и тд, но не выходит...

import random
n = int(input())
c = []
b = []
a = [b.append(random.randint(0, 100)) for i in range(n + 1)]
print(f"Текущий список B: {b}")
for i in range(n + 1):
    b[i], b[i + 1] = b[i + 1], b[i + 2]
print(f"Новый список со сдвигом элементов B: {b}")

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

Автор решения: SwaD

Когда выполняете перестаноку массива, вам надо выполнить len / 2 итераций, а вы выполняете len + 1:

import random

ls = int(input('Enter length list: '))
mas = [random.randint(1, 100) for x in range(ls)]
print(f'До   : {mas}')

for a in range(round(ls/2)):
    ind = a * 2
    [mas[ind], mas[ind+1]] = [mas[ind+1], mas[ind]]

print(f'После: {mas}')
→ Ссылка