В этом уроке мы обсудим различные способы вывода на печать таблицы умножения любого числа с помощью Python.
Способ 1: Использование цикла For
В следующем примере мы напечатаем таблицу умножения любого числа (от 1 до 10) с помощью цикла for.
Пример:
number = int(input("Enter the number of which the user wants to print the multiplication table: ")) # We are using "for loop" to iterate the multiplication 10 times print("The Multiplication Table of: ", number) for count in range(1, 11): print(number, 'x', count, '=', number * count)
Выход:
Enter the number : 10 Enter the number of which the user wants to print the multiplication table: 13 The Multiplication Table of: 13 13 x 1 = 13 13 x 2 = 26 13 x 3 = 39 13 x 4 = 52 13 x 5 = 65 13 x 6 = 78 13 x 7 = 91 13 x 8 = 104 13 x 9 = 117 13 x 10 = 130
Объяснение:
В приведенной выше программе мы получили от пользователя входное целое число. Затем мы повторили цикл for, используя функцию диапазона (1, 11), что означает больше или равно 1 и меньше 11. В первой итерации цикл будет повторяться и умножаться на 1 до заданного числа. Во второй итерации 2 умножается на заданное число и так далее.
В нашем случае мы распечатали таблицу из 10. Вы можете указать разные числа для тестирования программы.
Способ 2: с помощью цикла While
В этом методе мы будем использовать цикл while для печати таблицы умножения любого числа, указанного пользователем.
Пример:
number = int(input ("Enter the number of which the user wants to print the multiplication table: ")) count = 1 # we are using while loop for iterating the multiplication 10 times print ("The Multiplication Table of: ", number) while count <= 10: number = number * 1 print (number, 'x', i, '=', number * count) count += 1
Enter the number of which the user wants to print the multiplication table: 27 The Multiplication Table of: 27 27 x 10 = 27 27 x 10 = 54 27 x 10 = 81 27 x 10 = 108 27 x 10 = 135 27 x 10 = 162 27 x 10 = 189 27 x 10 = 216 27 x 10 = 243 27 x 10 = 270
Приведенный выше код такой же, как и в предыдущей программе, но мы использовали цикл while. Мы объявили переменную “count” и инициализировали ее значением 1. Цикл while будет повторяться до тех пор, пока значение “count” не станет равным 10. При каждом повторении временного цикла значение “count” будет увеличиваться на 1. Когда “количество” станет больше 10, цикл будет завершен.
В этом руководстве мы обсудили два различных метода, которые можно использовать для печати таблицы умножения с помощью Python.
Изучаю Python вместе с вами, читаю, собираю и записываю информацию опытных программистов.
На чтение 3 мин Просмотров 3к. Опубликовано 20.08.2022
Содержание
- Введение
- Вывод таблицы умножения в Python циклом for
- Вывод таблицы умножения в Python циклом while
- Заключение
Введение
Довольно часто новичкам в Python при изучении темы “циклы” задают задание вывести таблицу умножения с помощью цикла. В статье разберём два способа вывода таблицы умножения в Python.
Вывод таблицы умножения в Python циклом for
И так, разберём вывод таблицы умножения используя цикл for. Для начала создаём цикл от одного, до десяти:
В нём создаём вложенный цикл от одного, до десяти:
for i in range(1, 10):
for j in range(1, 10):
Во вложенном цикле выведем перемножение i и j с использованием форматирования для более красивого вывода.
for i in range(1, 10):
for j in range(1, 10):
print("%4d" % (i * j), end="")
Ну и добавим пустой print() в основном цикле:
for i in range(1, 10):
for j in range(1, 10):
print("%4d" % (i * j), end="")
print()
Вот что выведет программа после запуска:
Вывод таблицы умножения в Python циклом while
Теперь рассмотрим способ вывода таблицы умножения циклом while.
Для начала создадим переменную i, которая будет равняться единице:
Теперь создадим сам цикл while, который не закончится, пока i будет меньше 10:
В цикле создадим переменную j, которая будет равняться единице, а после неё будет идти вложенный цикл while, который не закончится, пока j будет меньше 10:
i = 1
while i < 10:
j = 1
while j < 10:
Во вложенном цикле будет идти точно такой же вывод, как и в способе с циклом for, а так же j будет увеличиваться на единицу:
i = 1
while i < 10:
j = 1
while j < 10:
print("%4d" % (i * j), end="")
j += 1
В основном цикле пропишем пустой print(), и прибавление единице к i:
i = 1
while i < 10:
j = 1
while j < 10:
print("%4d" % (i * j), end="")
j += 1
print()
i += 1
Программа готова, вывод будет точно таким же, как и в первом способе:
Заключение
В статье мы с Вами научились выводить таблицу умножения в Python двумя способами. С использованием цикла for, и цикла while. Надеюсь Вам понравилась статья, удачи! 🙂
Таблица умножения в одну строку
Время на прочтение
2 мин
Количество просмотров 15K
На картинке вы видите обычную таблицу умножения, которая, думаю, всем хорошо знакома.
Ничего особенного в ней нет, кроме того, что весь алгоритм ее построения сжат до одной стандартной Python’овской строки в 79 символов (см. PEP8). Кому интересно добро пожаловать под кат.
Для начала, стоит ответить на появившийся у многих вопрос «А зачем это?». Все сложилось из двух факторов, во-первых я, по настоятельной рекомендации одного хорошего человека, занялся углубленным изучением Python’а, а во-вторых мне нравится концепция демосцены. Результатом стало желание написать (конечно слишком громко сказано) что-нибудь очень маленькое (в идеале в одну строку), но наглядное, используя для всего этого особенности кодинга на Python’е. Я решил вывести на экран таблицу умножения.
Стоит отметить, что пишу я на Python3.7. Версии младше 3.6 не подойдут из-за отсутствия поддержки f-строк, и в итоге рабочий скрипт превысит длину в 79 символов.
Как восемь строк превратились в одну
Для начала я написал код выводящий таблицу умножения, абсолютно не заботясь о компактности:
Листинг
def MultiTabl():
tabl = ''
for y in range(1,11):
for x in range(1,11):
tabl += f'{x*y}t'
tabl += f'n'
return tabl
Сформировать значения таблицы можно, используя генераторы, а циклы оставить для распаковки списков. Минусом такого подхода оказалось большее количество строк:
Листинг
def MultiTabl():
nums = [[x*y for x in range(1,11)] for y in range(1,11)]
tabl = ''
for line in nums:
for item in line:
tabl += f'{item}t'
tabl += f'n'
return tabl
Генератору можно отдать и расстановку Tab’ов (‘t’) используя f-строки:
nums = [[f'{x*y}t' for x in range(1,11)] for y in range(1,11)]
Если извлеченный в первом цикле список склеить в строку, с помощью строкового метода join(), использовать параллельное назначение переменных и разместить цикл в одной строке, то размеры кода значительно уменьшатся:
Листинг
def MultiTabl():
nums, tabl = [[f'{x*y}t' for x in range(1,11)] for y in range(1,11)], ''
for line in nums: tabl += ''.join(line) + 'n'
return tabl
А если внести join() и ‘n’ в генератор:
def MultiTabl():
nums, tabl = [''.join([f'{x*y}t' for x in range(1,11)])+'n' for y in range(1,11)], ''
for line in nums: tabl += line
return tabl
Теперь в нашем распоряжении список из строк, и его тоже можно склеить с помощью join(), избавившись тем самым от циклов:
def MultiTabl():
tabl = ''.join([''.join([f'{x*y}t' for x in range(1,11)])+'n' for y in range(1,11)])
return tabl
Ну и обещанный вариант в одну строку (от print, конечно, не избавиться)
print(
''.join([''.join([f'{x*y}t' for x in range(1,11)])+'n' for y in range(1,11)])
)
Конечно, гуру Python’а скажут “И что тут такого?”, но стоит заметить, что указанный подход не является очевидным для начинающих.
Не стоит воспринимать сей опус слишком серьезно, я его писал как разминку перед большой статьей, будет замечательно если он вызовет улыбку, и просто великолепно если принесет пользу.
Помогоите сделать таблицу умножения в python. Таблица вида:
При вводе 5
Пытаюсь сделать двойной цикл:
1)Для строки
2)Для столбца
Вот до чего я пока додумался… (Начинающий)
s1=int(input())
for i in range(s1):
print(i+1,end='t')
for g in range(i):
print((g+1)*i)
break
Вывод
1 2 1
3 2
4 3
5 4
Буду очень благодарен любой помощи!
задан 4 янв 2018 в 15:26
cooolercoooler
1292 золотых знака2 серебряных знака12 бронзовых знаков
5
Попробуйте так:
for i in range(1, s1+1):
print(*range(i, i*s1+1, i), sep='t')
Вывод:
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
или «простой» вариант:
for i in range(1, s1+1):
for j in range(i, i*s1+1, i):
print(j, end='t')
print()
Вывод:
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
ответ дан 4 янв 2018 в 15:44
8
max_ = int(input())
for row in range(1, max_ + 1):
for column in range(1, max_ + 1):
print(row * column, end='t')
print()
Вам нужно печать только произведения и ничего другого. Я изменил имя переменных чтобы был код более понятным.
ответ дан 4 янв 2018 в 15:56
MarianDMarianD
14k3 золотых знака17 серебряных знаков27 бронзовых знаков
n = int(input())
for i in range(1, n + 1):
for j in range(1, n + 1):
print(i * j, " " * (5 - len(str(i * j))), end=" ")
print("n", end="")
ответ дан 2 ноя 2021 в 13:40
1
for i in range(1, 10):
for j in range(1, 10):
print(i, '*', j, '=', i * j, end='tt')
print()
Простейший вариант
ответ дан 20 мар 2022 в 10:33
1
import
sys
from
tkinter
import
*
def
MultiTable():
print
(
"n:Multiplication Table:n"
)
print
(
"nTimes-Table of Number"
, (EnterTable.get()),
'n'
)
for
x
in
range
(
1
,
13
):
number
=
int
(EnterTable.get())
print
(
'tt'
, (number),
'x'
, (x),
'='
, (x
*
number),)
Table
=
Tk()
Table.geometry(
'250x250+700+200'
)
Table.title(
'Multiplication Table'
)
EnterTable
=
StringVar()
label1
=
Label(Table, text
=
'Enter Your Times-table Number:'
,
font
=
30
, fg
=
'Black'
).grid(row
=
1
, column
=
6
)
label1
=
Label(Table, text
=
' '
).grid(row
=
2
, column
=
6
)
entry
=
Entry(Table, textvariable
=
EnterTable,
justify
=
'center'
).grid(row
=
3
, column
=
6
)
label1
=
Label(Table, text
=
' '
).grid(row
=
4
, column
=
6
)
button1
=
Button(Table, text
=
"Generate Table"
, fg
=
"Blue"
,
command
=
MultiTable).grid(row
=
5
, column
=
6
)
label1
=
Label(Table, text
=
' '
).grid(row
=
6
, column
=
6
)
EXIT
=
Button(Table, text
=
"Quit"
, fg
=
"red"
,
command
=
Table.destroy).grid(row
=
7
, column
=
6
)
Table.mainloop()
import
sys
from
tkinter
import
*
def
MultiTable():
print
(
"n:Multiplication Table:n"
)
print
(
"nTimes-Table of Number"
, (EnterTable.get()),
'n'
)
for
x
in
range
(
1
,
13
):
number
=
int
(EnterTable.get())
print
(
'tt'
, (number),
'x'
, (x),
'='
, (x
*
number),)
Table
=
Tk()
Table.geometry(
'250x250+700+200'
)
Table.title(
'Multiplication Table'
)
EnterTable
=
StringVar()
label1
=
Label(Table, text
=
'Enter Your Times-table Number:'
,
font
=
30
, fg
=
'Black'
).grid(row
=
1
, column
=
6
)
label1
=
Label(Table, text
=
' '
).grid(row
=
2
, column
=
6
)
entry
=
Entry(Table, textvariable
=
EnterTable,
justify
=
'center'
).grid(row
=
3
, column
=
6
)
label1
=
Label(Table, text
=
' '
).grid(row
=
4
, column
=
6
)
button1
=
Button(Table, text
=
"Generate Table"
, fg
=
"Blue"
,
command
=
MultiTable).grid(row
=
5
, column
=
6
)
label1
=
Label(Table, text
=
' '
).grid(row
=
6
, column
=
6
)
EXIT
=
Button(Table, text
=
"Quit"
, fg
=
"red"
,
command
=
Table.destroy).grid(row
=
7
, column
=
6
)
Table.mainloop()