A math problem generator, created for the purpose of giving teachers and students the means to easily get access to random math exercises to suit their needs.
To try out generators, go to https://lukew3.github.io/mathgenerator
See CONTRIBUTING.md for information about how to contribute.
The project can be install via pip
pip install mathgenerator
Here is an example of how you would generate an addition problem:
import mathgenerator
#generate an addition problem
problem, solution = mathgenerator.addition()
#another way to generate an addition problem using genById()
problem, solution = mathgenerator.genById(0)
You may prefer to use import mathgenerator as mg
and run functions like mg.addition()
so that you don't have to type as much.
Problem/solution pairs are generated with either:
mathgenerator.<generator_name>()
- generates a problem, solution set from the given generator name.mathgenerator.genById(id)
- generates a problem, solution set with generator id provided by theid
parameter
You can also use getGenList()
to return a list of all generators included in the library in the format:
[id, title, gen_func, funcname, subjectname, kwargs]
Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
---|---|---|---|---|---|
11 | Basic Algebra | basic_algebra | maxVariable=10 |
||
12 | Logarithm | log |
maxBase=3 maxVal=8
|
||
17 | Integer Multiplication with 2x2 Matrix | $2 * \begin{bmatrix} 8 & 0 \ 10 & 10 \end{bmatrix} =$ | $\begin{bmatrix} 16 & 0 \ 20 & 20 \end{bmatrix}$ | multiply_int_to_22_matrix |
maxMatrixVal=10 maxRes=100
|
20 | Midpoint of the two point | The midpoint of |
midpoint_of_two_points | maxValue=20 |
|
21 | Factoring Quadratic | factoring |
range_x1=10 range_x2=10
|
||
23 | Solve a System of Equations in R^2 | Given |
|
system_of_equations |
range_x=10 range_y=10 coeff_mult_range=10
|
24 | Distance between 2 points | Find the distance between |
distance_two_points |
maxValXY=20 minValXY=-20
|
|
26 | Linear Equations | Given the equations |
|
linear_equations |
n=2 varRange=20 coeffRange=20
|
41 | Intersection of Two Lines | Find the point of intersection of the two lines: |
intersection_of_two_lines |
minM=-10 maxM=10 minB=-10 maxB=10 minDenominator=1 maxDenominator=6
|
|
43 | Cross Product of 2 Vectors | vector_cross |
minVal=-20 maxVal=20
|
||
45 | Simple Interest | Simple interest for a principle amount of |
simple_interest |
maxPrinciple=10000 maxRate=10 maxTime=10
|
|
46 | Multiplication of two matrices | Multiply$\begin{bmatrix}0&-1&-9&1\-10&4&3&-10\end{bmatrix}$and$\begin{bmatrix}-4&-2&-4\8&-1&2\-2&6&-5\-10&7&5\end{bmatrix}$ | $\begin{bmatrix}0&-46&48\166&-36&-17\end{bmatrix}$ | matrix_multiplication |
maxVal=100 max_dim=10
|
50 | Quadratic Equation | What are the zeros of the quadratic equation |
quadratic_equation | maxVal=100 |
|
65 | Multiplication of 2 complex numbers | multiply_complex_numbers |
minRealImaginaryNum=-20 maxRealImaginaryNum=20
|
||
72 | Dot Product of 2 Vectors | vector_dot |
minVal=-20 maxVal=20
|
||
74 | Inverse of a Matrix | Inverse of Matrix $\begin{bmatrix} 0 & 0 & 1 \ 1 & 3 & 3 \ 1 & 2 & 2 \end{bmatrix}$ is: | \begin{bmatrix} 0 & -2 & 3 \ -1 & 1 & -1 \ 1 & 0 & 0 \end{bmatrix} | invert_matrix |
SquareMatrixDimension=3 MaxMatrixElement=99 OnlyIntegerElementsInInvertedMatrix=True
|
77 | Determinant to 2x2 Matrix | $\det \begin{bmatrix} 24 & 94 \ 21 & 29 \end{bmatrix}= $ | int_matrix_22_determinant | maxMatrixVal=100 |
|
78 | Compound Interest | Compound interest for a principle amount of |
compound_interest |
maxPrinciple=10000 maxRate=10 maxTime=10
|
|
100 | complex Quadratic Equation | Find the roots of given Quadratic Equation |
$((-0.173, -0.827)) = (\frac{-7 + \sqrt{21}}{27}, (\frac{-7 - \sqrt{21}}{27})$ | complex_quadratic |
prob_type=0 max_range=10
|
105 | Combine Like terms | combine_like_terms |
maxCoef=10 maxExp=20 maxTerms=10
|
||
111 | Expanding Factored Binomial | expanding |
range_x1=10 range_x2=10 range_a=10 range_b=10
|
Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
---|---|---|---|---|---|
0 | Addition | addition |
maxSum=99 maxAddend=50
|
||
1 | Subtraction | subtraction |
maxMinuend=99 maxDiff=99
|
||
2 | Multiplication | multiplication | maxMulti=12 |
||
3 | Division | division |
maxA=25 maxB=25
|
||
6 | Square Root | square_root |
minNo=1 maxNo=12
|
||
8 | Square | square | maxSquareNum=20 |
||
13 | Fraction to Decimal | fraction_to_decimal |
maxRes=99 maxDivid=99
|
||
16 | Fraction Division | divide_fractions | maxVal=10 |
||
28 | Fraction Multiplication | fraction_multiplication | maxVal=10 |
||
31 | Factorial | factorial | maxInput=6 |
||
44 | Compare Fractions | Which symbol represents the comparison between |
> | compare_fractions | maxVal=10 |
47 | Cube Root | What is the cube root of: |
cube_root |
minNo=1 maxNo=1000
|
|
53 | Exponentiation | exponentiation |
maxBase=20 maxExpo=10
|
||
71 | Absolute difference between two numbers | $ | 22--59 | =$ | |
80 | Percentage of a number | What is |
percentage |
maxValue=99 maxpercentage=99
|
|
90 | isprime | Is |
Yes | is_prime | max_num=100 |
97 | Power of Powers | Simplify |
power_of_powers |
maxBase=50 maxPower=10
|
|
118 | Percentage difference | What is the percentage difference between |
|
percentage_difference |
maxValue=200 minValue=0
|
119 | Percentage error | Find the percentage error when observed value equals |
percentage_error |
maxValue=100 minValue=-100
|
|
120 | Greatest Common Divisor of N Numbers | greatest_common_divisor |
numbersCount=2 maximalNumberLimit=10**9
|
||
124 | Is Composite | Is |
Yes | is_composite | maxNum=250 |
Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
---|---|---|---|---|---|
7 | Power Rule Differentiation | power_rule_differentiation |
maxCoef=10 maxExp=10 maxTerms=5
|
||
48 | Power Rule Integration | power_rule_integration |
maxCoef=10 maxExp=10 maxTerms=5
|
||
88 | Trigonometric Differentiation | trig_differentiation | |||
89 | Definite Integral of Quadratic Equation | The definite integral within limits |
definite_integral | max_coeff=100 |
|
110 | Stationary Points | $f(x)=10x^3 + 8x^2 + 2*x + 5$ | stationary_points |
maxExp=3 maxCoef=10
|
Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
---|---|---|---|---|---|
4 | Binary Complement 1s | binary_complement_1s | maxDigits=10 |
||
5 | Modulo Division |
|
modulo_division |
maxRes=99 maxModulo=99
|
|
14 | Decimal to Binary | Binary of |
decimal_to_binary | max_dec=99 |
|
15 | Binary to Decimal | binary_to_decimal | max_dig=10 |
||
56 | Fibonacci Series | The Fibonacci Series of the first |
fibonacci_series | minNo=1 |
|
62 | nth Fibonacci number | What is the 74th Fibonacci number? | nth_fibonacci_number | maxN=100 |
|
64 | Binary to Hexidecimal | binary_to_hex | max_dig=10 |
||
73 | Binary 2's Complement | 2's complement of |
binary_2s_complement | maxDigits=10 |
|
79 | Decimal to Hexadecimal | Binary of |
decimal_to_hexadeci | max_dec=1000 |
|
84 | Converts decimal to octal | The decimal number |
decimal_to_octal | maxDecimal=4096 |
|
91 | Binary Coded Decimal to Integer | Integer of Binary Coded Decimal |
bcd_to_decimal | maxNumber=10000 |
|
103 | Decimal to Binary Coded Decimal | BCD of Decimal Number |
decimal_to_bcd | maxNumber=10000 |
Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
---|---|---|---|---|---|
18 | Area of Triangle | Area of triangle with side lengths: |
area_of_triangle |
maxA=20 maxB=20
|
|
19 | Triangle exists check | Does triangle with sides |
valid_triangle | maxSideLength=50 |
|
22 | Third Angle of Triangle | Third angle of triangle with angles |
third_angle_of_triangle | maxAngle=89 |
|
25 | Pythagorean Theorem | What is the hypotenuse of a right triangle given the other two sides have lengths |
pythagorean_theorem | maxLength=20 |
|
29 | Angle of a Regular Polygon | Find the angle of a regular polygon with |
angle_regular_polygon |
minVal=3 maxVal=20
|
|
32 | Surface Area of Cube | Surface area of cube with side |
surface_area_cube |
maxSide=20 unit='m'
|
|
33 | Surface Area of Cuboid | Surface area of cuboid with sides of lengths: |
surface_area_cuboid |
maxSide=20 unit='m'
|
|
34 | Surface Area of Cylinder | Surface area of cylinder with height |
surface_area_cylinder |
maxRadius=20 maxHeight=50 unit='m'
|
|
35 | Volume of Cube | Volume of cube with a side length of |
volume_cube |
maxSide=20 unit='m'
|
|
36 | Volume of Cuboid | Volume of cuboid with sides = |
volume_cuboid |
maxSide=20 unit='m'
|
|
37 | Volume of cylinder | Volume of cylinder with height |
volume_cylinder |
maxRadius=20 maxHeight=50 unit='m'
|
|
38 | Surface Area of cone | Surface area of cone with height |
surface_area_cone |
maxRadius=20 maxHeight=50 unit='m'
|
|
39 | Volume of cone | Volume of cone with height |
volume_cone |
maxRadius=20 maxHeight=50 unit='m'
|
|
49 | Fourth Angle of Quadrilateral | Fourth angle of quadrilateral with angles |
fourth_angle_of_quadrilateral | maxAngle=180 |
|
57 | Trigonometric Values | basic_trigonometry |
angles=[0, 30, 45, 60, 90] functions=['sin', 'cos', 'tan']
|
||
58 | Sum of Angles of Polygon | What is the sum of interior angles of a polygon with |
sum_of_polygon_angles | maxSides=12 |
|
60 | Surface Area of Sphere | Surface area of Sphere with radius |
surface_area_sphere |
maxSide=20 unit='m'
|
|
61 | Volume of Sphere | Volume of sphere with radius |
volume_sphere | maxRadius=100 |
|
70 | Angle between 2 vectors | angle between the vectors |
|
angle_btw_vectors | maxEltAmt=20 |
75 | Area of a Sector | What is the area of a sector with radius |
sector_area |
maxRadius=49 maxAngle=359
|
|
86 | Degrees to Radians | Angle |
degree_to_rad | max_deg=360 |
|
87 | Radians to Degrees | Angle |
radian_to_deg | max_rad=6.28 |
|
95 | Curved surface area of a cylinder | What is the curved surface area of a cylinder of radius, |
curved_surface_area_cylinder |
maxRadius=49 maxHeight=99
|
|
96 | Perimeter of Polygons | The perimeter of a |
perimeter_of_polygons |
maxSides=12 maxLength=120
|
|
104 | Circumference | Circumference of circle with radius |
circumference | maxRadius=100 |
|
108 | Arc length of Angle | Given radius, |
Arc length of the angle |
arc_length |
maxRadius=49 maxAngle=359
|
112 | Area of Circle | Area of circle with radius |
area_of_circle | maxRadius=100 |
|
113 | Volume of frustum | Volume of frustum with height |
volume_frustum |
maxR1=20 maxR2=20 maxHeight=50 unit='m'
|
|
114 | Equation of line from two points | What is the equation of the line between points |
equation_of_line_from_two_points |
maxCoordinate=20 minCoordinate=-20
|
|
115 | Area of Circle given center and a point on circle | Area of circle with center |
area_of_circle_given_center_and_point |
maxCoordinate = 10 maxRadius=10
|
|
117 | Volume of Hemisphere | Volume of hemisphere with radius |
volume_hemisphere | maxRadius=100 |
|
122 | Volume of pyramid | Volume of pyramid with base length |
volume_pyramid |
maxLength=20 maxWidth=20 maxHeight=50 unit='m'
|
|
123 | Surface area of pyramid | Surface area of pyramid with base length |
surface_area_pyramid | unit='m' |
|
125 | Complementary and Supplementary Angle | The supplementary angle of 48 = | 132 | complementary_and_supplementary_angle |
maxSupp=180 maxComp=90
|
Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
---|---|---|---|---|---|
9 | LCM (Least Common Multiple) | LCM of |
lcm | maxVal=20 |
|
10 | GCD (Greatest Common Denominator) | GCD of |
gcd | maxVal=20 |
|
27 | Prime Factorisation | Find prime factors of |
prime_factors |
minVal=1 maxVal=200
|
|
40 | Common Factors | Common Factors of |
common_factors | maxVal=100 |
|
51 | HCF (Highest Common Factor) | HCF of |
hcf | maxVal=20 |
|
55 | Comparing surds | Fill in the blanks |
surds_comparison |
maxValue=100 maxRoot=10
|
|
63 | Profit or Loss Percent | Profit percent when |
profit_loss_percent |
maxCP=1000 maxSP=1000
|
|
66 | Geometric Progression | For the given GP |
The value of a is |
geometric_progression |
number_values=6 min_value=2 max_value=12 n_term=7 sum_term=5
|
67 | Geometric Mean of N Numbers | Geometric mean of |
geometric_mean |
maxValue=100 maxCount=4
|
|
68 | Harmonic Mean of N Numbers | Harmonic mean of |
harmonic_mean |
maxValue=100 maxNum=4
|
|
69 | Euclidian norm or L2 norm of a vector | Euclidian norm or L2 norm of the vector |
euclidian_norm | maxEltAmt=20 |
|
81 | Celsius To Fahrenheit | Convert |
celsius_to_fahrenheit | maxTemp=100 |
|
82 | AP Term Calculation | Find term number |
arithmetic_progression_term |
maxd=100 maxa=100 maxn=100
|
|
83 | AP Sum Calculation | Find the sum of first |
arithmetic_progression_sum |
maxd=100 maxa=100 maxn=100
|
|
85 | Converts decimal to Roman Numerals | The number |
decimal_to_roman_numerals | maxDecimal=4000 |
|
92 | Complex To Polar Form | complex_to_polar | minRealImaginaryNum=-20, maxRealImaginaryNum=20 |
||
93 | Union,Intersection,Difference of Two Sets | Given the two sets |
Union is |
set_operation |
minval=3 maxval=7 n_a=4 n_b=5
|
94 | Base Conversion | Convert |
base_conversion |
maxNum=60000 maxBase=16
|
|
98 | Quotient of Powers with Same Base | The Quotient of |
quotient_of_power_same_base |
maxBase=50 maxPower=10
|
|
99 | Quotient of Powers with Same Power | The Quotient of |
quotient_of_power_same_power |
maxBase=50 maxPower=10
|
|
101 | Leap Year or Not | Is 1906 a leap year? | 1906 is not a leap year | is_leap_year |
minNumber=1900 maxNumber=2099
|
102 | Minute to Hour conversion | Convert |
|
minutes_to_hours | maxMinutes=999 |
106 | signum function | signum of 985 is = | signum_function |
min=-999 max=999
|
|
109 | Binomial distribution | A manufacturer of metal pistons finds that, on average, |
binomial_distribution | `` | |
116 | Factors of a number | Factors of |
factors | maxVal=1000 |
|
121 | Product of scientific notations | Product of scientific notations |
product_of_scientific_notations |
minExpVal=-100 maxExpVal=100
|
Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
---|---|---|---|---|---|
30 | Combinations of Objects | Find the number of combinations from |
combinations | maxlength=20 |
|
42 | Permutations | Number of Permutations from |
permutation | maxlength=20 |
|
52 | Probability of a certain sum appearing on faces of dice | If |
\frac{1}{216} | dice_sum_probability | maxDice=3 |
54 | Confidence interval For sample S | The confidence interval for sample |
confidence_interval | `` | |
59 | Mean,Standard Deviation,Variance | Find the mean,standard deviation and variance for the data |
The Mean is |
data_summary |
number_values=15 minval=5 maxval=50
|
76 | Mean and Median | Given the series of numbers |
Arithmetic mean of the series is |
mean_median | maxlen=10 |
107 | Conditional Probability | Someone tested positive for a nasty disease which only |
|
conditional_probability | `` |