@pure_pure

Таблица умножения, python. Ошибка?

Задача:
Напечатайте таблицу умножения. Установите правильные отступы и проверьте, что всё напечатано без ошибок.
В итоге программа должна вывести всю таблицу умножения вот в таком виде:
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
... и так до 9 * 9 = 81

Мой код:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in range(1, 10):
for j in range(1, 10):
print ('{} x {} = {}'.format( i, j, i*j), end='\t' + '\n')

print()

Результат
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
1 x 5 = 5
1 x 6 = 6
1 x 7 = 7
1 x 8 = 8
1 x 9 = 9

2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18

и так далее...

Однако, тренажер ругается и насколько я поняла, дело в операторе.
По какой то причине * заменилось на Х.

верный ответ:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in range(1, 10):
for j in range(1, 10):
print (f'{i} * {j} = {i*j}')
  • Вопрос задан
  • 556 просмотров
Пригласить эксперта
Ответы на вопрос 3
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Так вот же вы используете не звёздочку, а крестик:
print ('{} x {} = {}'.format( i, j, i*j), end='\t' + '\n')

А табуляцию перед абзацем вы для чего добавляете? Это тоже может повлиять на корректность результата.
Ответ написан
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
По какой то причине * заменилось на Х.

Нигде ничего не менялось. То, что вы написали, то и вывелось.
Ответ написан
RimMirK
@RimMirK
Вроде человек. Вроде учусь. Вроде пайтону
тут все с подвохом.
записи
print (f'{i} x {j} = {i*j}')
и
print ('{} x {} = {}'.format( i, j, i*j))
одинаковы. Точнее обе записи выведут одно и то же.

Из-за табуляции могут быть проблемы. Зачем end='\t'?

И зачем массив с цифрами? Он нигде не используется
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы