Skip to content

Easy Math

py_simple.easy_math

Beginner-friendly helpers for common math operations.

divisors(n)

Returns every positive integer that divides n evenly.

Parameters:

Name Type Description Default
n int

Positive integer to divide.

required

Returns:

Name Type Description
list list

All divisors of n.

Raises:

Type Description
ValueError

If n is less than 1.

Example
from py_simple import divisors

result = divisors(12)  # -> [1, 2, 3, 4, 6, 12]
n = 12
result = [number for number in range(1, n + 1) if n % number == 0]

factorial(n)

Returns the factorial of a whole number.

Parameters:

Name Type Description Default
n int

Non-negative integer.

required

Returns:

Name Type Description
int int

The factorial of n.

Raises:

Type Description
ValueError

If n is negative or not a whole number.

Example
from py_simple import factorial

result = factorial(5)  # -> 120
n = 5
result = 1
for number in range(2, n + 1):
    result *= number

fibonacci(count)

Returns the first count Fibonacci numbers as a list.

Parameters:

Name Type Description Default
count int

How many Fibonacci numbers to return.

required

Returns:

Name Type Description
list list

The first count Fibonacci numbers.

Raises:

Type Description
ValueError

If count is less than 1.

Example
from py_simple import fibonacci

result = fibonacci(5)  # -> [0, 1, 1, 2, 3]
count = 5
sequence = [0, 1]
while len(sequence) < count:
    sequence.append(sequence[-1] + sequence[-2])
result = sequence[:count]

get_least_common_multiple(a, b)

Returns the least common multiple of two integers.

The result is always positive, and 0 is returned if either number is 0.

Parameters:

Name Type Description Default
a int

First number.

required
b int

Second number.

required

Returns:

Name Type Description
int int

The least common multiple.

Example
from py_simple import lcm

result = lcm(4, 6)  # -> 12
import math
from math import gcd

a, b = 4, 6
result = abs(a * b) // gcd(a, b)

prime_factorization(n)

Returns the prime factors of a positive integer, including repeats.

Parameters:

Name Type Description Default
n int

Positive integer to factor.

required

Returns:

Name Type Description
list list

Prime factors of n.

Raises:

Type Description
ValueError

If n is less than 1.

Example
from py_simple import prime_factorization

result = prime_factorization(12)  # -> [2, 2, 3]
n = 12
factors = []
divisor = 2
while divisor * divisor <= n:
    while n % divisor == 0:
        factors.append(divisor)
        n //= divisor
    divisor += 1
if n > 1:
    factors.append(n)

sum_of_digits(n)

Returns the sum of the digits of an integer.

Negative numbers are handled by ignoring the minus sign.

Parameters:

Name Type Description Default
n int

Integer to add up.

required

Returns:

Name Type Description
int int

The sum of the digits.

Raises:

Type Description
ValueError

If n is not an integer.

Example
from py_simple import sum_of_digits

result = sum_of_digits(1234)  # -> 10
n = 1234
result = sum(int(digit) for digit in str(n))