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

This commit is contained in:
parent c10ec574ca
commit 3bae7b04c6

View file

@ -1,19 +1,21 @@
''' ****** Задание 14 из 20 Параграф 2.4 ********* ''' ****** Задание 14 из 20 Параграф 2.4 *********
* Давайте ещё немного поможем воспитательнице — на этот раз с новым вариантом числового прямоугольника. * Обычные прямоугольники — это, конечно, хорошо… но дети быстро теряют к ним интерес.
Поэтому воспитательница просит вас придумать что-нибудь поинтереснее. Например — числовую змейку!
На первый взгляд он похож на предыдущий… В этой змейке строки чередуются: одна идёт слева направо, следующая — справа налево, потом снова слева направо… и так далее.
Но здесь числа идут по столбцам, а не по строкам. И это меняет всё! Настоящее приключение для тех, кто учит числа!
Напишите программу, которая заполняет прямоугольник числами от 1 до N × M, по столбцам, а не по строкам и форматирует их так, чтобы все столбцы были одинаковой ширины. Напишите программу, которая строит числовую змейку из чисел от 1 до N × M.
Формат ввода Формат ввода
В первой строке записано число N — высота числового прямоугольника. В первой строке записано число
Во второй строке указано число M — ширина числового прямоугольника. N — высота числового прямоугольника.
Во второй строке указано число
M — ширина числового прямоугольника.
Формат вывода Формат вывода
Нужно вывести сформированный числовой прямоугольник требуемого размера. Нужно вывести сформированную числовую змейку требуемого размера.
Чтобы прямоугольник был красивым, каждый его столбец должен обладать одинаковой шириной. Чтобы прямоугольник был красивым, каждый его столбец следует сделать одинаковой ширины.
Пример 1 Пример 1
Ввод Ввод
@ -22,8 +24,8 @@
3 3
Вывод Вывод
1 3 5 1 2 3
2 4 6 6 5 4
''' '''
@ -31,12 +33,14 @@ if __name__ == "__main__":
n = int(input()) n = int(input())
m = int(input()) m = int(input())
max_number = n * m max_width = len(str(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()
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))