Как написать таблицу умножения на питоне

В этом уроке мы обсудим различные способы вывода на печать таблицы умножения любого числа с помощью 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

Содержание

  1. Введение
  2. Вывод таблицы умножения в Python циклом for
  3. Вывод таблицы умножения в Python циклом while
  4. Заключение

Введение

Довольно часто новичкам в 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 циклом for

Вывод таблицы умножения в 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 циклом while

Заключение

В статье мы с Вами научились выводить таблицу умножения в Python двумя способами. С использованием цикла for, и цикла while. Надеюсь Вам понравилась статья, удачи! 🙂

Admin

Таблица умножения в одну строку

Время на прочтение
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

При вводе 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

coooler's user avatar

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

MaxU - stand with Ukraine's user avatar

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

MarianD's user avatar

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

DEVOURING's user avatar

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

Nigjya_ CHANNEL's user avatar

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()

# multiplication_table.py # # Copyright 2015 Ericson Willians (Rederick Deathwill) <EricsonWRP@ERICSONWRP-PC> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA. # # import tkinter as tk class App(tk.Frame): DEFAULT_PADY = 2 def __init__(self, master=None): tk.Frame.__init__(self, master) self.config() self.grid() self.create_widgets() def config(self): self.master.title(«x*y») def create_widgets(self): top = self.winfo_toplevel() top.rowconfigure(0, weight=1) top.columnconfigure(0, weight=1) self.rowconfigure(0, weight=1) self.columnconfigure(0, weight=1) self.result_label = tk.Label(self, text=«Input a number: «) self.result_label.grid(row=0, column=0, pady=App.DEFAULT_PADY, sticky=tk.W + tk.E + tk.N + tk.S) self.number_entry = tk.Entry(self, justify=tk.RIGHT) self.number_entry.grid(row=1, column=0, pady=App.DEFAULT_PADY, sticky=tk.W + tk.E + tk.N + tk.S) self.show_button = tk.Button(self, text=«ok», width=4, command=self.update_result) self.show_button.grid(row=2, column=0, pady=App.DEFAULT_PADY, sticky=tk.SE) def update_result(self): self.result_label[«text»] = n.join([ «{x}*{y} = {result}».format(x = int(self.number_entry.get()), y = n, result = int(self.number_entry.get())*n) for n in range(11)]) if __name__ == ‘__main__’: App().mainloop()

Понравилась статья? Поделить с друзьями:
  • Как написать сюиту
  • Как написать сюжетный план
  • Как написать сюжет стихотворения
  • Как написать сюжет рассказа
  • Как написать сюжет книги фэнтези