How to Print a Multiplication Table in Python Using Basic Programming Concepts

Jesse John Feb 02, 2024
  1. Basic Programming Concepts
  2. Print the Times Table of a Given Number in Python
How to Print a Multiplication Table in Python Using Basic Programming Concepts

We can practice several elementary programming concepts by learning to print a times table in Python. These include:

  1. Using variables
  2. Getting user input
  3. Using inbuilt functions
  4. Type casting variables
  5. Iteration (loop)
  6. String formatting
  7. Using a Unicode symbol

We will use Python’s f string formatting feature, available for Python 3.6 and above.

Basic Programming Concepts

We can declare a variable and assign it a value as follows.

table_of = 5

We will use the input() function to get user input, as shown below.

table_of = input("Print times table of: ")

The program will display the string Print times table of: and wait for user input. The user can input anything. Python interprets the input as a string.

To convert it to an integer, we will use the int() function around the input() function.

table_of = int(input("Print times table of: "))

print("Times") prints the word Times on the display. An empty print() function prints an empty line.

The range() function creates a sequence from start_int to, but excluding, end_int. By default, it increases by 1.

range(start_int, end_int, step_int)

We will use the for loop in our code. It repeats the code in the loop as many times as the variable is in the specified range.

for variable in range(start, end):
    code to repeat

Python’s f string formatting feature allows us to include variables in strings using placeholders {}. To use the value of the variable table_of, we will use:

print(f"Times table of {table_of}")

We can specify the length of the placeholder using an integer. In the code, we specify this using another variable: the length of the result table_of * 9.

We convert the integer to a string using str() to get the length.

The multiplication symbol is specified using its Unicode name.

\N{MULTIPLICATION SIGN}

We will now put all the above concepts in the following code. It will print the multiplication table of the user-given number in two ways.

Example Code:

# The following code prints the times table
# of the given number till 'number x 9'.

# It prints the times table in two different ways.

table_of = int(input("Print times table of: "))

# Get the length of the result
l_res = len(str(table_of * 9))


print(f"Times Table of {table_of}:")
print()

for multiple in range(1, 10):
    print(
        f"{multiple} \N{MULTIPLICATION SIGN} {table_of} = {table_of*multiple:{l_res}}"
    )
    print()

print("-------------")
print()

for multiple in range(1, 10):
    print(
        f"{table_of} \N{MULTIPLICATION SIGN} {multiple} = {table_of*multiple:{l_res}}"
    )
    print()

Sample Output:

Print times table of: 1717
Times Table of 1717:

1 × 1717 =  1717

2 × 1717 =  3434

3 × 1717 =  5151

4 × 1717 =  6868

5 × 1717 =  8585

6 × 1717 = 10302

7 × 1717 = 12019

8 × 1717 = 13736

9 × 1717 = 15453

-------------

1717 × 1 =  1717

1717 × 2 =  3434

1717 × 3 =  5151

1717 × 4 =  6868

1717 × 5 =  8585

1717 × 6 = 10302

1717 × 7 = 12019

1717 × 8 = 13736

1717 × 9 = 15453

As a variation, we can print the multiplication table from and to a desired multiple of the given number.

Example Code:

# The following code prints the times table
# of the given number from a multiple till a multiple.

table_of = int(input("Print times table of: "))

# We will assume that the user correctly gives a smaller number
# at which to start and a larger number at which to end.

from_multiple = int(input("Enter the multiple at which to start: "))
to_multiple = int(input("Enter the multiple at which to end: "))

# Get the length of the result
l_res = len(str(table_of * to_multiple))

# Get the length of the larger multiple.
l_multiple = len(str(to_multiple))


print(f"Times Table of {table_of}:")
print()

for multiple in range(from_multiple, to_multiple + 1):
    print(
        f"{multiple:{l_multiple}} \N{MULTIPLICATION SIGN} {table_of} = {multiple*table_of:{l_res}}"
    )
    print()

Sample Output:

Print times table of: 16

Enter the multiple at which to start: 5

Enter the multiple at which to end: 15
Times Table of 16:

 5 × 16 =  80

 6 × 16 =  96

 7 × 16 = 112

 8 × 16 = 128

 9 × 16 = 144

10 × 16 = 160

11 × 16 = 176

12 × 16 = 192

13 × 16 = 208

14 × 16 = 224

15 × 16 = 240
Author: Jesse John
Jesse John avatar Jesse John avatar

Jesse is passionate about data analysis and visualization. He uses the R statistical programming language for all aspects of his work.

Related Article - Python Math