# TODO здесь писать код # По примерам, я так понял, что, пользователь не вводит цифру 0 # Решил немного смухлевать def check_numbers(collection): temp = [] # Из-за того что родительский список тоже менялся, temp.extend(collection) # пришлось городить такой способ length = len(temp) diff = length // 2 remain = length % 2 for i in range(diff): index_left = (diff - i) - 1 index_right = (diff + i) + remain if temp[index_right] == 0: continue if temp[index_left] != temp[index_right]: return False else: return True def rebuild(collection, number): for i_number in range(number, 0, -1): collection.append(collection[i_number-1]) def count_changes(collection): number = 0 temp_collection = [] # Из-за того что родительский список тоже менялся, temp_collection.extend(collection) # пришлось городить такой способ while not check_numbers(temp_collection): temp_collection.append(0) number += 1 return number numbers_list = [] numbers = int(input('Кол-во чисел: ')) for i in range(numbers): numbers_list.append(int(input('Число: '))) print() print('Последовательность:',numbers_list) step_count = count_changes(numbers_list) rebuild(numbers_list, step_count) # Даже без return родительский список все равно меняется :-\ # print(numbers) if step_count != 0: print('Нужно приписать чисел:', step_count) print('Сами числа: [', end='') for i_num in range(len(numbers_list) - step_count, len(numbers_list) -1): print(numbers_list[i_num],end=', ') else: print(f'{numbers_list[len(numbers_list) -1]}]')