Таблица Пифагора без единицы
Нужно вывести таблицу Пифагора для чисел от одного до девяти мой код:
for i in range(1, 10):
for j in range(1, 10):
print(f' {i * j:2}', end=' ')
print()
выводит:
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
а должно выводить:
2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
Подскажите, как исправить?
Ответы (3 шт):
Автор решения: KoVadim
→ Ссылка
просто добавьте один if
for i in range(1, 10):
for j in range(1, 10):
if i == 1 and j == 1:
print(f' ', end=' ')
else:
print(f' {i * j:2}', end=' ')
print()
Автор решения: CrazyElf
→ Ссылка
Как вариант можно использовать тернарный оператор, мне кажется так менее громоздко код выглядит - без лишних строк и повторов кода:
for i in range(1, 10):
for j in range(1, 10):
print(f' {"" if i == j == 1 else i * j:2}', end=' ')
print()
Автор решения: Andy Pavlov
→ Ссылка
Добавлю еще вариант в одну строку:
print('\n'.join([''.join(['{:>3}'.format(c * r if c * r != 1 else ' ')
for c in range(1, 10)]) for r in range(1, 10)]))