From 3bae7b04c678385f59013438c5f8793b088c8efa Mon Sep 17 00:00:00 2001 From: Zver Date: Wed, 3 Dec 2025 11:12:05 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=2014=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=20(=D0=B8=D1=81?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson.14.py | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/lesson.14.py b/lesson.14.py index 3028063..fc48219 100644 --- a/lesson.14.py +++ b/lesson.14.py @@ -1,19 +1,21 @@ ''' ****** Задание 14 из 20 Параграф 2.4 ********* -* Давайте ещё немного поможем воспитательнице — на этот раз с новым вариантом числового прямоугольника. +* Обычные прямоугольники — это, конечно, хорошо… но дети быстро теряют к ним интерес. +Поэтому воспитательница просит вас придумать что-нибудь поинтереснее. Например — числовую змейку! -На первый взгляд он похож на предыдущий… -Но здесь числа идут по столбцам, а не по строкам. И это меняет всё! +В этой змейке строки чередуются: одна идёт слева направо, следующая — справа налево, потом снова слева направо… и так далее. +Настоящее приключение для тех, кто учит числа! -Напишите программу, которая заполняет прямоугольник числами от 1 до N × M, по столбцам, а не по строкам и форматирует их так, чтобы все столбцы были одинаковой ширины. +Напишите программу, которая строит числовую змейку из чисел от 1 до N × M. Формат ввода -В первой строке записано число N — высота числового прямоугольника. -Во второй строке указано число M — ширина числового прямоугольника. +В первой строке записано число +N — высота числового прямоугольника. +Во второй строке указано число +M — ширина числового прямоугольника. Формат вывода -Нужно вывести сформированный числовой прямоугольник требуемого размера. -Чтобы прямоугольник был красивым, каждый его столбец должен обладать одинаковой шириной. - +Нужно вывести сформированную числовую змейку требуемого размера. +Чтобы прямоугольник был красивым, каждый его столбец следует сделать одинаковой ширины. Пример 1 Ввод @@ -22,8 +24,8 @@ 3 Вывод -1 3 5 -2 4 6 +1 2 3 +6 5 4 ''' @@ -31,12 +33,14 @@ if __name__ == "__main__": n = int(input()) m = int(input()) - max_number = n * m - width = len(str(max_number)) - - for row in range(n): - for col in range(m): - number = col * n + row + 1 - print(f'{number:>{width}}', end=' ') - print() + max_width = len(str(n * m)) + for i in range(n): + row = [] + for j in range(m): + if i % 2 == 0: + number = i * m + j + 1 + else: + number = i * m + m - j + row.append(str(number).rjust(max_width)) + print(' '.join(row))