Сделал 14 задание (исправил)

This commit is contained in:
parent c10ec574ca
commit 3bae7b04c6

View file

@ -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))