How to do math in Python REPL

PythonPythonBeginner
Practice Now

Introduction

Python provides an interactive and powerful environment for mathematical computations through its Read-Eval-Print Loop (REPL). This tutorial explores how programmers and data enthusiasts can leverage Python's built-in mathematical capabilities and advanced libraries to perform complex calculations quickly and efficiently.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("`Python`")) -.-> python/BasicConceptsGroup(["`Basic Concepts`"]) python(("`Python`")) -.-> python/ModulesandPackagesGroup(["`Modules and Packages`"]) python(("`Python`")) -.-> python/PythonStandardLibraryGroup(["`Python Standard Library`"]) python(("`Python`")) -.-> python/FunctionsGroup(["`Functions`"]) python/BasicConceptsGroup -.-> python/numeric_types("`Numeric Types`") python/ModulesandPackagesGroup -.-> python/standard_libraries("`Common Standard Libraries`") python/PythonStandardLibraryGroup -.-> python/math_random("`Math and Random`") python/BasicConceptsGroup -.-> python/python_shell("`Python Shell`") python/FunctionsGroup -.-> python/build_in_functions("`Build-in Functions`") subgraph Lab Skills python/numeric_types -.-> lab-445507{{"`How to do math in Python REPL`"}} python/standard_libraries -.-> lab-445507{{"`How to do math in Python REPL`"}} python/math_random -.-> lab-445507{{"`How to do math in Python REPL`"}} python/python_shell -.-> lab-445507{{"`How to do math in Python REPL`"}} python/build_in_functions -.-> lab-445507{{"`How to do math in Python REPL`"}} end

Python REPL Basics

What is REPL?

REPL stands for Read-Eval-Print Loop, an interactive programming environment where you can:

  • Enter Python commands
  • Immediately see results
  • Experiment with code interactively

Starting Python REPL

On Ubuntu 22.04, you can start Python REPL in multiple ways:

## Method 1: Standard Python REPL
python3

## Method 2: IPython (enhanced interactive shell)
ipython3

Basic Mathematical Operations

In Python REPL, you can perform immediate mathematical calculations:

## Addition
>>> 5 + 3
8

## Subtraction
>>> 10 - 4
6

## Multiplication
>>> 6 * 7
42

## Division
>>> 15 / 3
5.0

## Integer Division
>>> 17 // 5
3

## Modulus
>>> 17 % 5
2

## Exponentiation
>>> 2 ** 3
8

REPL Special Features

Underscore Variable

The underscore _ stores the last printed expression:

>>> 5 + 3
8
>>> _ * 2
16

Multiple Expressions

You can chain multiple expressions:

>>> x = 10
>>> y = 5
>>> x + y
15

Exiting REPL

## Method 1: Using exit() function
>>> exit()

## Method 2: Keyboard shortcut (Ctrl + D)

Best Practices

Practice Description
Use Tab Completion Autocomplete variables and methods
Use dir() Explore available methods
Use help() Get function documentation

LabEx Tip

LabEx recommends practicing REPL for quick Python experiments and learning.

Mathematical Calculations

Basic Arithmetic Operations

Standard Operators

Python supports standard mathematical operators:

## Addition
>>> 10 + 5
15

## Subtraction
>>> 20 - 8
12

## Multiplication
>>> 6 * 7
42

## Division
>>> 15 / 3
5.0

## Floor Division
>>> 17 // 5
3

## Modulus
>>> 17 % 5
2

## Exponentiation
>>> 2 ** 3
8

Advanced Mathematical Functions

Using math Module

>>> import math

## Square root
>>> math.sqrt(16)
4.0

## Trigonometric functions
>>> math.sin(math.pi/2)
1.0

## Logarithmic functions
>>> math.log(10)
2.302585092994046

Complex Number Calculations

## Complex number operations
>>> (3 + 4j) * (2 - 1j)
(14 + 5j)

>>> abs(3 + 4j)
5.0

Precision and Rounding

## Rounding
>>> round(3.7)
4

>>> round(3.2)
3

## Decimal precision
>>> from decimal import Decimal
>>> Decimal('1.1') + Decimal('2.2')
Decimal('3.3')

Mathematical Constants

>>> import math

## Common mathematical constants
>>> math.pi
3.141592653589793

>>> math.e
2.718281828459045

Comparison Table of Mathematical Operations

Operation Symbol Example Result
Addition + 10 + 5 15
Subtraction - 20 - 8 12
Multiplication * 6 * 7 42
Division / 15 / 3 5.0
Floor Division // 17 // 5 3
Modulus % 17 % 5 2
Exponentiation ** 2 ** 3 8

Flowchart of Mathematical Calculation Process

graph TD A[Start] --> B[Input Numbers] B --> C{Select Operation} C --> |Addition| D[Add Numbers] C --> |Subtraction| E[Subtract Numbers] C --> |Multiplication| F[Multiply Numbers] C --> |Division| G[Divide Numbers] D --> H[Display Result] E --> H F --> H G --> H H --> I[End]

LabEx Recommendation

LabEx suggests practicing these calculations regularly to build mathematical programming skills in Python.

Math Libraries Exploration

Standard Math Library

Importing and Basic Usage

>>> import math

## Trigonometric functions
>>> math.sin(math.pi/2)
1.0

## Logarithmic functions
>>> math.log(10)
2.302585092994046

## Rounding functions
>>> math.ceil(4.3)
5

>>> math.floor(4.7)
4

NumPy: Advanced Numerical Computing

Installation and Import

## Install NumPy
$ pip3 install numpy
>>> import numpy as np

## Array operations
>>> np.array([1, 2, 3]) * 2
array([2, 4, 6])

## Statistical functions
>>> data = [1, 2, 3, 4, 5]
>>> np.mean(data)
3.0

>>> np.median(data)
3.0

SciPy: Scientific Computing

Installation and Advanced Calculations

## Install SciPy
$ pip3 install scipy
>>> from scipy import stats

## Statistical distributions
>>> stats.norm.pdf(0, loc=0, scale=1)
0.3989422804014327

## Integration
>>> from scipy import integrate
>>> integrate.quad(lambda x: x**2, 0, 1)
(0.33333333333333337, 3.700743415417189e-15)

Sympy: Symbolic Mathematics

Symbolic Calculations

>>> from sympy import symbols, diff

## Define symbolic variables
>>> x = symbols('x')

## Symbolic differentiation
>>> diff(x**2, x)
2*x

## Equation solving
>>> from sympy import solve
>>> solve(x**2 - 4, x)
[-2, 2]

Math Libraries Comparison

Library Specialization Key Features
math Basic mathematics Trigonometry, logarithms
NumPy Numerical computing Array operations, statistics
SciPy Scientific computing Advanced mathematics, integration
SymPy Symbolic mathematics Equation solving, symbolic manipulation

Library Selection Flowchart

graph TD A[Start] --> B{Mathematical Task} B --> |Basic Calculations| C[math Library] B --> |Numerical Arrays| D[NumPy] B --> |Scientific Computing| E[SciPy] B --> |Symbolic Manipulation| F[SymPy] C --> G[End] D --> G E --> G F --> G

Installation Best Practices

## Recommended installation method
$ pip3 install numpy scipy sympy

LabEx Learning Tip

LabEx recommends exploring these libraries progressively, starting with basic math and advancing to more complex libraries.

Summary

By understanding Python REPL's mathematical capabilities, developers can seamlessly perform numerical operations, utilize advanced math libraries, and enhance their computational skills. The tutorial demonstrates Python's flexibility in handling mathematical tasks, making it an essential tool for scientific computing, data analysis, and mathematical problem-solving.

Other Python Tutorials you may like