Симметричная последовательность

Что нужно сделать

Последовательность чисел называется симметричной, если она одинаково читается как слева направо, так и справа налево. Например, следующие последовательности являются симметричными:

1 2 3 4 5 4 3 2 1
1 2 1 2 2 1 2 1

Пользователь вводит последовательность из N чисел. Напишите программу, которая определяет, какое минимальное количество и каких чисел надо приписать в конец этой последовательности, чтобы она стала симметричной.

Пример 1:

Кол-во чисел: 5
Число: 1
Число: 2
Число: 1
Число: 2
Число: 2

Последовательность: [1, 2, 1, 2, 2]
Нужно приписать чисел: 3
Сами числа: [1, 2, 1]

Пример 2:

Кол-во чисел: 5
Число: 1
Число: 2
Число: 3
Число: 4
Число: 5

Последовательность: [1, 2, 3, 4, 5]
Нужно приписать чисел: 4
Сами числа: [4, 3, 2, 1]

Что оценивается

  • Результат вычислений корректен.
  • Input содержит корректные приглашения для ввода.
  • Формат вывода соответствует примеру.
  • Переменные и функции имеют значащие имена, не только a, b, c, d
nums = int(input('Введите количество чисел: '))
num_list = []
first_list = []
second_list = []

for i in range(nums):
    num = int(input(f'Число {i + 1}: '))
    num_list.append(num)
first_list.extend(num_list)

for j in range(len(num_list)):
    half = len(num_list) // 2
    if len(num_list) % 2 != 0:
        if num_list[:half] == num_list[half + 1:]:
            break
    else:
        if num_list[:half] == num_list[:half-1:-1]:
            break
    num_list.append(num_list[j])
    second_list.append(num_list[j])

print(f'''\nПоследовательность: {first_list}
Нужно приписать чисел: {len(second_list)}
Сами числа: {second_list}''')