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

На чтение 3 мин Просмотров 5.9к. Опубликовано 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

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

Помогоите сделать таблицу умножения в 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

vojdelenije's user avatar

vojdelenijevojdelenije

1472 золотых знака2 серебряных знака13 бронзовых знаков

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

14.1k3 золотых знака18 серебряных знаков29 бронзовых знаков

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

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for number_1 in numbers:
  for number_2 in numbers:
    print(number_1, '*', number_2, '=', number_1 * number_2)

aleksandr barakin's user avatar

ответ дан 12 мар в 16:11

Alexey Avramov's user avatar

2

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

Время на прочтение
2 мин

Количество просмотров 16K

На картинке вы видите обычную таблицу умножения, которая, думаю, всем хорошо знакома.
Ничего особенного в ней нет, кроме того, что весь алгоритм ее построения сжат до одной стандартной 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’а скажут “И что тут такого?”, но стоит заметить, что указанный подход не является очевидным для начинающих.

Не стоит воспринимать сей опус слишком серьезно, я его писал как разминку перед большой статьей, будет замечательно если он вызовет улыбку, и просто великолепно если принесет пользу.

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

Понравилась статья? Поделить с друзьями:
  • Как составить проблемную статью
  • Как найти нод числа в степени
  • Как найти любимого кота
  • Как найти человека если знаешь его фио
  • Как найти сетевое устройство windows