Вывести таблицу умножения

В задание указано, сделать таблицу в 2 ряда, с 1 до 5 и 6 до 10. Код работает, но преподаватель дал задание, чтобы я оптимизировал без 2ой части кода. Благодарю Вас.

 for i in range(1, 11):
    for j in range(1, 6):
        print(f'{j} * {i:>2} = {i * j:>2}', end=' '*3)
    print()
print()
for i in range(1, 11):
    for j in range(6, 11):
        print(f'{j} * {i:>2} = {i * j:>2}', end=' '*3)
    print()

 

  

Ответы (2 шт):

Автор решения: MBo

Что-нибудь такое требуется?

for i in range(1, 22):
    if i==11:
        print()
    else:
        k = 5 * (i // 12)
        l = i % 11
        for j in range(1, 6):
            print(f'{j + k} * {l:>2} = {l * (j + k):>2}', end=' '*3)
        print()
→ Ссылка
Автор решения: GrAnd

Можно просто организовать ещё один цикл сверху, чтобы не повторять код.

step = 5
for row in range(1, 11, step):
    for i in range(1, 11):
        for j in range(row, row + step):
            print(f'{j} * {i:>2} = {i * j:>2}', end=' '*3)
        print()
    print()
→ Ссылка