Домашняя работа целиком выполнена
This commit is contained in:
@@ -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]}]')
|
||||
|
||||
Reference in New Issue
Block a user