Помогите с выводом в Python

a=1
b=5
c=2
d=4
for j in range(a,b+1):
    print(j)
    for i in range(c,d+1):
        print(i*j,end=' ')

Написал код, на выходе хотел бы получать что-то на подобие таблицы умножения, но получается криво, как можно исправить?
Вот что должно получит


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

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

Нужно просто всё продумать. Отдельно вывести верхний ряд цифр, а потом в цикле ещё отдельно выводить первую цифру на которую множим. Отформатировать вывод, чтобы количество цифр в ячейках было фиксированным. И переводить строку не забывать:

a=1
b=5
c=2
d=4
print('  ', end=' ')
for i in range(c, d+1):
    print(f'{i:2d}', end=' ')
print()
for j in range(a, b+1):
    print(f'{j:2d}', end=' ')
    for i in range(c, d+1):
        print(f'{i*j:2d}', end=' ')
    print()

Вывод:

    2  3  4 
 1  2  3  4 
 2  4  6  8 
 3  6  9 12 
 4  8 12 16 
 5 10 15 20 
→ Ссылка