K. Числовой прямоугольник 3.0

Ребята в детском саду вновь учатся считать, и воспитательница решила сделать так, чтобы им было проще освоить новый навык. Для этого она хочет оформить список изучаемых чисел особым образом.
Дети справляются весьма быстро, поэтому ей требуется программа, которая способна строить числовые прямоугольники. Напишите программу, которая строит числовой прямоугольник требуемого размера.

Формат ввода

В первой строке записано число N — высота числового прямоугольника.
Во второй строке указано число M — ширина числового прямоугольника.

Формат вывода

Нужно вывести сформированный числовой прямоугольник требуемого размера.
Чтобы прямоугольник был красивым, каждый его столбец должен быть одинаковой ширины.

Примечание

itertools.product прекрасно подходит, чтобы избавиться от вложенных циклов.

Пример

Ввод

2
3

Вывод

1 2 3
4 5 6

Ввод

4
6

Вывод

 1  2  3  4  5  6
 7  8  9 10 11 12
13 14 15 16 17 18
19 20 21 22 23 24

Решение

Задача похитрее и поинтереснее всех предыдущих. Нам потребуется определить длину максимального числа в квадрате, и придумать как туда поместить нашу последовательность с помощью product().

Если сгенерировать с помощью product() пары строка-колонка, то можно воспользоваться алгоритмом из задачи M. Числовой прямоугольник 2.0

Посмотреть код

Решение

Python
from itertools import product

x = int(input())
y = int(input())

ln = len(str(x * y))

for i, j in product(range(1, x + 1), range(1, y + 1)):
    print(f'{((i - 1) * y + j):>{ln}}', end=' ')
    if j == y:
        print()
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии