From f3c81fda32e971a98b366420f5093e5b3a32516f Mon Sep 17 00:00:00 2001 From: Neuf Date: Tue, 16 Sep 2025 00:50:16 +0500 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=BC=D0=B0=D1=88=D0=BD=D1=8F?= =?UTF-8?q?=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=D1=86=D0=B5?= =?UTF-8?q?=D0=BB=D0=B8=D0=BA=D0=BE=D0=BC=20=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Module16/11_simmetrical_seq/main.py | 48 +++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/Module16/11_simmetrical_seq/main.py b/Module16/11_simmetrical_seq/main.py index 9b7f69c..2548175 100644 --- a/Module16/11_simmetrical_seq/main.py +++ b/Module16/11_simmetrical_seq/main.py @@ -1 +1,49 @@ # 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]}]')