Merge branch 'master' into patch-3

This commit is contained in:
Luke Weiler
2020-10-19 10:41:46 -04:00
committed by GitHub
18 changed files with 365 additions and 192 deletions

View File

@@ -28,6 +28,12 @@ def additionFunc(maxSum, maxAddend):
Before coding, please check README.md to see if someone has already created the generator you plan to make.
Skillid is determined by the next available id as can be determined in the table.
#### Restructure Notes
We currently just underwent a large reconstruction of the repository. Here is how you commit to the repo.
* Place your generator instance at the bottom of mathgen.py
* Create a new file in the funcs directory with the same name as your function
* Place `.__init__ import *` at the top of your file and then write your function in the lines beneath it
* Add `from .<yourfunc> import *` at the bottom of the `__init__.py` file inside the funcs directory
### Provide Ideas
If you have an idea for a generator but don't have the time or know-how to create it, you can add it as an issue. If you have a lot of ideas, I would suggest adding them to the table in README.md so that they are easier for our team to manage.

131
README.md
View File

@@ -30,66 +30,77 @@ problem, solution = mathgen.genById(0)
| Id | Skill | Example problem | Example Solution | Function Name |
|------|-----------------------------------|--------------------|-----------------------|--------------------------|
| 0 | Addition | 42+2= | 44 | addition |
| 1 | Subtraction | 32-26= | 6 | subtraction |
| 2 | Multiplication | 77*1= | 77 | multiplication |
| 3 | Division | 66/9= | 7.333333333333333 | division |
| 4 | Binary Complement 1s | 1010000 | 0101111 | binaryComplement1s |
| 5 | Modulo Division | 61%35= | 26 | moduloDivision |
| 6 | Square Root | sqrt(1)= | 1 | squareRoot |
| 7 | Power Rule Differentiation | 5x^5 | 25x^4 | powerRuleDifferentiation |
| 8 | Square | 20^2= | 400 | square |
| 9 | LCM (Least Common Multiple) | LCM of 19 and 5 = | 95 | lcm |
| 10 | GCD (Greatest Common Denominator) | GCD of 10 and 11 = | 1 | gcd |
| 11 | Basic Algebra | 3x + 7 = 8 | 1/3 | basicAlgebra |
| 12 | Logarithm | log2(128) | 7 | log |
| 13 | Easy Division | 306/18 = | 17 | intDivision |
| 14 | Decimal to Binary | Binary of 28= | 11100 | decimalToBinary |
| 15 | Binary to Decimal | 10001101 | 141 | binaryToDecimal |
| 16 | Fraction Division | (4/1)/(6/3) | 2 | fractionDivision |
| 17 | Integer Multiplication with 2x2 Matrix | 5 * [[10, 3], [0, 1]] = | [[50,15],[0,5]] | intMatrix22Multiplication |
| 18 | Area of Triangle | Area of triangle with side lengths: 13 2 14 = | 11.659223816361019 | areaOfTriangle |
| 19 | Triangle exists check | Does triangle with sides 3, 4 and 25 exist? | No | doesTriangleExist |
| 20 | Midpoint of the two point | (4,-11),(17,-5)= | (10.5,-8.0) | midPointOfTwoPoint |
[//]: # list start
| 0 | Addition | 33+23= | 56 | addition |
| 1 | Subtraction | 14-1= | 13 | subtraction |
| 2 | Multiplication | 52*1= | 52 | multiplication |
| 3 | Division | 14/26= | 0.5384615384615384 | division |
| 4 | Binary Complement 1s | 0110111= | 1001000 | binaryComplement1s |
| 5 | Modulo Division | 23%70= | 23 | moduloDivision |
| 6 | Square Root | sqrt(121)= | 11 | squareRoot |
| 7 | Power Rule Differentiation | 3x^2 + 3x^5 + 1x^2 + 6x^4 + 6x^3 | 6x^1 + 15x^4 + 2x^1 + 24x^3 + 18x^2 | powerRuleDifferentiation |
| 8 | Square | 18^2= | 324 | square |
| 9 | LCM (Least Common Multiple) | LCM of 17 and 11 = | 187 | lcm |
| 10 | GCD (Greatest Common Denominator) | GCD of 15 and 12 = | 3 | gcd |
| 11 | Basic Algebra | 2x + 3 = 10 | 7/2 | basicAlgebra |
| 12 | Logarithm | log2(32) | 5 | log |
| 13 | Easy Division | 196/14 = | 14 | intDivision |
| 14 | Decimal to Binary | Binary of 61= | 111101 | decimalToBinary |
| 15 | Binary to Decimal | 1 | 1 | binaryToDecimal |
| 16 | Fraction Division | (2/1)/(10/5) | 1 | fractionDivision |
| 17 | Integer Multiplication with 2x2 Matrix | 16 * [[4, 1], [1, 2]] = | [[64,16],[16,32]] | intMatrix22Multiplication |
| 18 | Area of Triangle | Area of triangle with side lengths: 15 13 11 = | 69.62892717829278 | areaOfTriangle |
| 19 | Triangle exists check | Does triangle with sides 35, 14 and 37 exist? | Yes | doesTriangleExist |
| 20 | Midpoint of the two point | (15,5),(9,10)= | (12.0,7.5) | midPointOfTwoPoint |
| 21 | Factoring Quadratic | x^2-12x+35 | (x-7)(x-5) | factoring |
| 22 | Third Angle of Triangle | Third angle of triangle with angles 20 and 62 = | 98 | thirdAngleOfTriangle |
| 23 | Solve a System of Equations in R^2 | 5x - 7y = -84, 4x + 5y = 7 | x = -7, y = 7 | systemOfEquations |
| 24 | Distance between 2 points | Find the distance between (5, -18) and (1, 19) | sqrt(1385) | distance2Point |
| 25 | Pythagorean Theorem | The hypotenuse of a right triangle given the other two lengths 15 and 5 = | 15.81 | pythagoreanTheorem |
| 26 | Linear Equations | -6x + -17y = -220
-13x + -19y = -120 | x = -20, y = 20 | linearEquations |
| 27 | Prime Factorisation | Find prime factors of 62 | [2, 31] | primeFactors |
| 28 | Fraction Multiplication | (8/4)*(1/2) | 1 | fractionMultiplication |
| 29 | Angle of a Regular Polygon | Find the angle of a regular polygon with 19 sides | 161.05 | angleRegularPolygon |
| 30 | Combinations of Objects | Number of combinations from 12 objects picked 1 at a time | 12 | combinations |
| 31 | Factorial | 0! = | 1 | factorial |
| 32 | Surface Area of Cube | Surface area of cube with side = 8m is | 384 m^2 | surfaceAreaCubeGen |
| 33 | Surface Area of Cuboid | Surface area of cuboid with sides = 18m, 17m, 1m is | 682 m^2 | surfaceAreaCuboidGen |
| 34 | Surface Area of Cylinder | Surface area of cylinder with height = 31m and radius = 1m is | 201 m^2 | surfaceAreaCylinderGen |
| 35 | Volum of Cube | Volume of cube with side = 9m is | 729 m^3 | volumeCubeGen |
| 36 | Volume of Cuboid | Volume of cuboid with sides = 20m, 1m, 10m is | 200 m^3 | volumeCuboidGen |
| 37 | Volume of cylinder | Volume of cylinder with height = 7m and radius = 7m is | 1077 m^3 | volumeCylinderGen |
| 38 | Surface Area of cone | Surface area of cone with height = 47m and radius = 13m is | 2522 m^2 | surfaceAreaConeGen |
| 39 | Volume of cone | Volume of cone with height = 4m and radius = 4m is | 67 m^3 | volumeConeGen |
| 40 | Common Factors | Common Factors of 20 and 90 = | [1, 2, 5, 10] | commonFactors |
| 41 | Intersection of Two Lines | Find the point of intersection of the two lines: y = -3/6x + 1 and y = 0/2x + 6 | (-10, 6) | intersectionOfTwoLines |
| 42 | Permutations | Number of Permutations from 11 objects picked 2 at a time = | 110 | permutations |
| 43 | Cross Product of 2 Vectors | [-19, -3, 2] X [-15, -12, 7] = | [3, 103, 183] | vectorCross |
| 44 | Compare Fractions | Which symbol represents the comparison between 8/6 and 3/1? | < | compareFractions |
| 45 | Simple Interest | Simple interest for a principle amount of 9862 dollars, 4% rate of interest and for a time period of 1 years is = | 394.48 | simpleInterest |
| 22 | Third Angle of Triangle | Third angle of triangle with angles 37 and 54 = | 89 | thirdAngleOfTriangle |
| 23 | Solve a System of Equations in R^2 | -4x - 8y = 60, -9x + 10y = 51 | x = -9, y = -3 | systemOfEquations |
| 24 | Distance between 2 points | Find the distance between (16, 7) and (19, 14) | sqrt(58) | distance2Point |
| 25 | Pythagorean Theorem | The hypotenuse of a right triangle given the other two lengths 18 and 8 = | 19.70 | pythagoreanTheorem |
| 26 | Linear Equations | -8x + 15y = -109
6x + -14y = 90 | x = 8, y = -3 | linearEquations |
| 27 | Prime Factorisation | Find prime factors of 130 | [2, 5, 13] | primeFactors |
| 28 | Fraction Multiplication | (8/9)*(3/2) | 4/3 | fractionMultiplication |
| 29 | Angle of a Regular Polygon | Find the angle of a regular polygon with 8 sides | 135.0 | angleRegularPolygon |
| 30 | Combinations of Objects | Number of combinations from 11 objects picked 9 at a time | 55 | combinations |
| 31 | Factorial | 2! = | 2 | factorial |
| 32 | Surface Area of Cube | Surface area of cube with side = 17m is | 1734 m^2 | surfaceAreaCubeGen |
| 33 | Surface Area of Cuboid | Surface area of cuboid with sides = 8m, 4m, 17m is | 472 m^2 | surfaceAreaCuboidGen |
| 34 | Surface Area of Cylinder | Surface area of cylinder with height = 32m and radius = 18m is | 5654 m^2 | surfaceAreaCylinderGen |
| 35 | Volum of Cube | Volume of cube with side = 11m is | 1331 m^3 | volumeCubeGen |
| 36 | Volume of Cuboid | Volume of cuboid with sides = 14m, 19m, 1m is | 266 m^3 | volumeCuboidGen |
| 37 | Volume of cylinder | Volume of cylinder with height = 16m and radius = 18m is | 16286 m^3 | volumeCylinderGen |
| 38 | Surface Area of cone | Surface area of cone with height = 48m and radius = 20m is | 4523 m^2 | surfaceAreaConeGen |
| 39 | Volume of cone | Volume of cone with height = 29m and radius = 6m is | 1093 m^3 | volumeConeGen |
| 40 | Common Factors | Common Factors of 59 and 57 = | [1] | commonFactors |
| 41 | Intersection of Two Lines | Find the point of intersection of the two lines: y = -1/4x - 2 and y = 4/5x + 3 | (-100/21, -17/21) | intersectionOfTwoLines |
| 42 | Permutations | Number of Permutations from 13 objects picked 8 at a time = | 51891840 | permutations |
| 43 | Cross Product of 2 Vectors | [4, -11, 9] X [-8, -19, -5] = | [226, -52, -164] | vectorCross |
| 44 | Compare Fractions | Which symbol represents the comparison between 3/7 and 2/4? | < | compareFractions |
| 45 | Simple Interest | Simple interest for a principle amount of 2398 dollars, 9% rate of interest and for a time period of 5 years is = | 1079.1 | simpleInterest |
| 46 | Multiplication of two matrices | Multiply <table><tr><td>-50</td><td>36</td><td>7</td><td>-26</td><td>-2</td><td>63</td></tr><tr><td>88</td><td>-37</td><td>60</td><td>-19</td><td>61</td><td>-56</td></tr><tr><td>48</td><td>-5</td><td>69</td><td>-87</td><td>-64</td><td>-92</td></tr><tr><td>-84</td><td>-50</td><td>-79</td><td>-19</td><td>86</td><td>-13</td></tr><tr><td>0</td><td>28</td><td>12</td><td>-14</td><td>73</td><td>-49</td></tr><tr><td>94</td><td>-90</td><td>2</td><td>26</td><td>-38</td><td>19</td></tr><tr><td>2</td><td>-11</td><td>79</td><td>-77</td><td>98</td><td>-77</td></tr><tr><td>-87</td><td>70</td><td>72</td><td>-32</td><td>64</td><td>-99</td></tr></table> and <table><tr><td>34</td><td>32</td><td>-6</td><td>-32</td><td>46</td><td>-23</td><td>78</td><td>-81</td><td>-18</td></tr><tr><td>-17</td><td>24</td><td>49</td><td>-62</td><td>-50</td><td>77</td><td>38</td><td>-98</td><td>-64</td></tr><tr><td>-23</td><td>-78</td><td>43</td><td> 5</td><td>-83</td><td>-5</td><td> 4</td><td>-92</td><td>-16</td></tr><tr><td> 46</td><td>-47</td><td>-92</td><td>52</td><td>-25</td><td>-37</td><td>44</td><td>51</td><td>-7</td></tr><tr><td> 20</td><td>26</td><td>70</td><td>37</td><td>96</td><td>-73</td><td>49</td><td>84</td><td>42</td></tr><tr><td>-72</td><td>-15</td><td>-80</td><td>-24</td><td>58</td><td>-47</td><td>-41</td><td>45</td><td>-69</td></tr></table>| <table><tr><td>-8245</td><td>-1057</td><td>-423</td><td>-3535</td><td>-569</td><td>2034</td><td>-6329</td><td>1219</td><td>-5765</td></tr><tr><td>6619</td><td> 567</td><td>10737</td><td>2391</td><td>4001</td><td>-6291</td><td>10147</td><td>-7387</td><td>6383</td></tr><tr><td>1472</td><td>-161</td><td>13318</td><td>-5565<td>-12574</td><td>10381</td><td> 638<td>-23699</td><td>2621</td></tr><tr><td>1593</td><td>5598</td><td>3465</td><td>7899</td><td>13170</td><td>-6487</td><td>-4857</td><td>24642</td><td>10618</td></tr><tr><td>3592</td><td>3027</td><td>12206</td><td>1473</td><td>2120</td><td>-412</td><td>6082</td><td>-635</td><td>4561</td></tr><tr><td>3748</td><td>-1803<td>-11460</td><td>2072</td><td>5462</td><td>-8183</td><td>2423</td><td>11</td><td> 947</td></tr><tr><td>2400</td><td> 960</td><td>22950</td><td>2483</td><td> 952</td><td>-1974</td><td>4625</td><td>-5512</td><td>9372</td></tr><tr><td>1132</td><td>-2067</td><td>22392</td><td>1884<td>-12276</td><td>8196</td><td>1949</td><td>-7148</td><td>5677</td></tr></table> | matrixMultiplication |
| 47 | Cube Root | cuberoot of 771 upto 2 decimal places is: | 9.17 | CubeRoot |
| 48 | Power Rule Integration | 1x^3 + 8x^8 + 10x^10 | (1/3)x^4 + (8/8)x^9 + (10/10)x^11 + c | powerRuleIntegration |
| 49 | Fourth Angle of Quadrilateral | Fourth angle of quadrilateral with angles 52 , 84, 154 = | 70 | fourthAngleOfQuadrilateral |
| 50 | Quadratic Equation | Zeros of the Quadratic Equation 51x^2+152x+80=0 | [-0.68, -2.3] | quadraticEquationSolve |
| 51 | HCF (Highest Common Factor) | HCF of 11 and 7 = | 1 | hcf |
[ 10584, 13902, 11916, -7446, 4430, 554]
[ -1800, 6587, 14343, 6224, 4525, 4853]
[-12452, -10675, -8693, 427, 2955, 17691]] | matrixMultiplication |
| 47 | Cube Root | cuberoot of 221 upto 2 decimal places is: | 6.05 | CubeRoot |
| 48 | Power Rule Integration | 4x^5 + 2x^5 + 9x^8 + 9x^5 | (4/5)x^6 + (2/5)x^6 + (9/8)x^9 + (9/5)x^6 + c | powerRuleIntegration |
| 49 | Fourth Angle of Quadrilateral | Fourth angle of quadrilateral with angles 27 , 155, 116 = | 62 | fourthAngleOfQuadrilateral |
| 50 | Quadratic Equation | Zeros of the Quadratic Equation 53x^2+200x+78=0 | [-0.44, -3.33] | quadraticEquationSolve |
| 51 | HCF (Highest Common Factor) | HCF of 7 and 4 = | 1 | hcf |
| 52 | Probability of a certain sum appearing on faces of dice | If 2 dice are rolled at the same time, the probability of getting a sum of 11 = | 2/36 | diceSumProbability |
| 53 | Exponentiation | 9^9 = | 387420489 | exponentiation |
| 54 | Confidence interval For sample S | The confidence interval for sample [291, 254, 274, 207, 253, 289, 268, 280, 225, 240, 278, 270, 247, 252, 211, 212, 295, 241, 290, 206, 222, 263, 264, 228, 229, 256, 209, 292] with 99% confidence is | (265.560249263099, 237.72546502261523) | confidenceInterval |
| 55 | Comparing surds | Fill in the blanks 16^(1/7) _ 67^(1/6) | < | surdsComparison |
| 56 | Fibonacci Series | The Fibonacci Series of the first 11 numbers is ? | [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55] | fibonacciSeries |
| 57 | Trigonometric Values | What is cos(60)? | 1/2 | basicTrigonometry |
| 58 | Sum of Angles of Polygon | Sum of angles of polygon with 5 sides = | 540 | sumOfAnglesOfPolygon |
| 59 | Mean,Standard Deviation,Variance | Find the mean,standard deviation and variance for the data[38, 29, 43, 25, 7, 10, 13, 14, 43, 44, 30, 42, 48, 48, 42] | The Mean is 31.733333333333334 , Standard Deviation is 199.26222222222222, Variance is 14.116027140177303 | dataSummary |
| 59 | Surface Area of Sphere | Surface area of Sphere with radius = 13m is | 2123.7166338267 m^2 | surfaceAreaSphereGen |
| 60 | Volume of Sphere | Volume of sphere with radius 84 m = | 2482712.7095377133 m^3 | volumeSphere |
| 53 | Exponentiation | 9^10 = | 3486784401 | exponentiation |
| 54 | Confidence interval For sample S | The confidence interval for sample [266, 201, 278, 209, 229, 275, 216, 234, 219, 276, 282, 281, 208, 247, 265, 273, 286, 202, 231, 207, 251, 203, 259, 288, 291, 260, 210, 263, 222] with 99% confidence is | (260.5668079141175, 231.29526105139982) | confidenceInterval |
| 55 | Comparing surds | Fill in the blanks 15^(1/9) _ 55^(1/1) | < | surdsComparison |
| 56 | Fibonacci Series | The Fibonacci Series of the first 10 numbers is ? | [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] | fibonacciSeries |
| 57 | Trigonometric Values | What is tan(30)? | 1/√3 | basicTrigonometry |
| 58 | Sum of Angles of Polygon | Sum of angles of polygon with 3 sides = | 180 | sumOfAnglesOfPolygon |
| 59 | Mean,Standard Deviation,Variance | Find the mean,standard deviation and variance for the data[36, 13, 31, 23, 38, 34, 24, 20, 41, 14, 19, 31, 11, 49, 49] | The Mean is 28.866666666666667 , Standard Deviation is 143.5822222222222, Variance is 11.982579948501167 | dataSummary |
| 59 | Surface Area of Sphere | Surface area of Sphere with radius = 11m is | 1520.5308443374597 m^2 | surfaceAreaSphereGen |
| 60 | Volume of Sphere | Volume of sphere with radius 73 m = | 1629510.5990953872 m^3 | volumeSphere |
| 61 | nth Fibonacci number | What is the 68th Fibonacci number? | 72723460248141 | nthFibonacciNumberGen |
| 62 | Profit or Loss Percent | Profit percent when CP = 825 and SP = 972 is: | 17.81818181818182 | profitLossPercent |
| 63 | Binary to Hexidecimal | 100000 | 0x20 | binaryToHex |
| 64 | Multiplication of 2 complex numbers | (3+14j) * (-3+16j) = | (-233+6j) | complexNumMultiply |
| 65 | Geometric Progression | For the given GP [4, 16, 64, 256, 1024, 4096] ,Find the value of a,common ratio,8th term value, sum upto 7th term | The value of a is 4, common ratio is 4 , 8th term is 65536 , sum upto 7th term is 21844.0 | geometricprogression |
| 66 | Geometric Mean of N Numbers | Geometric mean of 3 numbers 81 , 35 and 99 = | (81*35*99)^(1/3) = 65.47307713912309 | geometricMean |
| 67 | Harmonic Mean of N Numbers | Harmonic mean of 2 numbers 99 and 25 = | 2/((1/99) + (1/25)) = 39.91935483870967 | harmonicMean |

View File

@@ -1,4 +1,5 @@
pytest
hypothesis
flake8
autopep8
autopep8
sympy

View File

@@ -1,25 +1,51 @@
# To use, paste at bottom of mathgen.py code, change line variable and remove all table rows in README.md except for the top 2 and run mathgen.py
# NOTE: not anymore. but still leaving this comment in.
from mathgenerator.mathgen import *
wList = getGenList()
lines = []
with open('mathgenerator/mathgen.py', 'r') as f:
lines=f.readlines()
allRows = []
f = open('mathgen.py')
lines = f.readlines()
line = 720 # This has to be changed depending on which line the first generator appears on
line = lines.index('# Funcs_start - DO NOT REMOVE!\n')+1 # get the first line of the functions in mathgen.py
for item in wList:
myGen = item[2]
prob, sol = myGen()
# NOTE: renamed 'sol' to 'solu' to make it look nicer
prob, solu = myGen()
prob = str(prob).rstrip("\n")
sol = str(sol).rstrip("\n")
solu = str(solu).rstrip("\n")
# edge case for matrixMultiplication
if item[0] == 46:
print(prob)
prob = prob.replace("[[", "<table><tr><td>")
prob = prob.replace("[", "<tr><td>")
prob = prob.replace(", ", "</td><td>")
prob = prob.replace("]]\n", "</td></tr></table>")
prob = prob.replace("]\n", "</td></tr>")
print(prob)
instName = lines[line]
def_name = instName[:instName.find('=')].strip()
row = [myGen.id, myGen.title, prob, sol, def_name]
func_name = instName[:instName.find('=')].strip() # NOTE: renamed 'def_name' to 'func_name' because it suits it more
row = [myGen.id, myGen.title, prob, solu, func_name]
# print(item[1], func_name)
line += 1
if line > len(lines):
break
allRows.append(row)
g = open('../README.md', "a")
for row in allRows:
tableLine = "| " + str(row[0]) + " | " + str(row[1]) + " | " + str(row[2]) + " | " + str(row[3]) + " | " + str(row[4]) + " |\n"
g.write(tableLine)
g.close()
with open('README.md', "r") as g:
lines = g.readlines()
line = lines.index('[//]: # list start\n')
lines = lines[:line+1]
for row in allRows:
tableLine = "| " + str(row[0]) + " | " + str(row[1]) + " | " + str(row[2]) + " | " + str(row[3]) + " | " + str(row[4]) + " |\n"
lines.append(tableLine)
with open('README.md', "w") as g:
g.writelines(lines)
print("New README.md table generated")

View File

@@ -71,4 +71,12 @@ from .multiplyComplexNumbersFunc import *
from .geomProgrFunc import *
from .geometricMeanFunc import *
from .harmonicMeanFunc import *
from .euclidianNormFunc import *
from .angleBtwVectorsFunc import *
from .absoluteDifferenceFunc import *
from .vectorDotFunc import *
from .binary2sComplement import *
from .matrixInversion import *
from .sectorAreaFunc import*
from .meanMedianFunc import*
from .determinantToMatrix22 import *

View File

@@ -0,0 +1,10 @@
from .__init__ import *
def absoluteDifferenceFunc (maxA = 100, maxB = 100):
a = random.randint(-1*maxA, maxA)
b = random.randint(-1*maxB, maxB)
absDiff = abs(a-b)
problem = "Absolute difference between numbers " + str(a) + " and " + str(b) + " = "
solution = absDiff
return problem, solution

View File

@@ -0,0 +1,16 @@
from .euclidianNormFunc import euclidianNormFunc
import math
from .__init__ import *
def angleBtwVectorsFunc(v1: list, v2: list):
sum = 0
for i in v1:
for j in v2:
sum += i * j
mags = euclidianNormFunc(v1) * euclidianNormFunc(v2)
problem = f"angle between the vectors {v1} and {v2} is:"
solution = math.acos(sum / mags)
# would return the answer in radians
return problem, solution

View File

@@ -0,0 +1,26 @@
from .__init__ import *
def binary2sComplementFunc(maxDigits=10):
digits = random.randint(1, maxDigits)
question = ''.join([str(random.randint(0, 1)) for i in range(digits)]).lstrip('0')
answer = []
for i in question:
answer.append(str(int(not bool(int(i)))))
carry = True
j = len(answer) - 1
while j >= 0:
if answer[j] == '0':
answer[j] = '1'
carry = False
break
answer[j] = '0'
j -= 1
if j == 0 and carry == True:
answer.insert(0, '1')
problem = "2's complement of " + question + " ="
solution = ''.join(answer).lstrip('0')
return problem, solution

View File

@@ -0,0 +1,7 @@
from .__init__ import *
def euclidianNormFunc(v1: list):
problem = f"Euclidian norm or L2 norm of the vector{v1} is:"
solution = sqrt(sum([i**2 for i in v1]))
return problem, solution

View File

@@ -0,0 +1,69 @@
from .__init__ import *
import sympy
def matrixInversion(SquareMatrixDimension=3, MaxMatrixElement=99, OnlyIntegerElementsInInvertedMatrix=False):
if OnlyIntegerElementsInInvertedMatrix is True:
isItOk = False
Mat = list()
while (isItOk is False):
Mat = list()
for i in range(0, SquareMatrixDimension):
z = list()
for j in range(0, SquareMatrixDimension):
z.append(0)
z[i] = 1
Mat.append(z)
MaxAllowedMatrixElement = math.ceil(
pow(MaxMatrixElement, 1 / (SquareMatrixDimension)))
randomlist = random.sample(
range(0, MaxAllowedMatrixElement + 1), SquareMatrixDimension)
for i in range(0, SquareMatrixDimension):
if i == SquareMatrixDimension - 1:
Mat[0] = [j + (k * randomlist[i])
for j, k in zip(Mat[0], Mat[i])]
else:
Mat[i + 1] = [j + (k * randomlist[i])
for j, k in zip(Mat[i + 1], Mat[i])]
for i in range(1, SquareMatrixDimension - 1):
Mat[i] = [sum(i)
for i in zip(Mat[SquareMatrixDimension - 1], Mat[i])]
isItOk = True
for i in Mat:
for j in i:
if j > MaxMatrixElement:
isItOk = False
break
if isItOk is False:
break
random.shuffle(Mat)
Mat = sympy.Matrix(Mat)
Mat = sympy.Matrix.transpose(Mat)
Mat = Mat.tolist()
random.shuffle(Mat)
Mat = sympy.Matrix(Mat)
Mat = sympy.Matrix.transpose(Mat)
else:
randomlist = list(sympy.primerange(0, MaxMatrixElement + 1))
plist = random.sample(randomlist, SquareMatrixDimension)
randomlist = random.sample(
range(0, MaxMatrixElement + 1), SquareMatrixDimension * SquareMatrixDimension)
randomlist = list(set(randomlist) - set(plist))
n_list = random.sample(
randomlist, SquareMatrixDimension * (SquareMatrixDimension - 1))
Mat = list()
for i in range(0, SquareMatrixDimension):
z = list()
z.append(plist[i])
for j in range(0, SquareMatrixDimension - 1):
z.append(n_list[(i * SquareMatrixDimension) + j - i])
random.shuffle(z)
Mat.append(z)
Mat = sympy.Matrix(Mat)
problem = 'Inverse of Matrix ' + str(Mat) + ' is:'
solution = str(sympy.Matrix.inv(Mat))
return problem, solution

View File

@@ -40,11 +40,12 @@ def matrixMultiplicationFuncHelper(inp):
m = len(inp)
n = len(inp[0])
string = ""
string = "[["
for i in range(m):
for j in range(n):
string += f"{inp[i][j]: 6d}"
string += " "
string += "\n"
string += ", "if j < n-1 else ""
string += "]\n [" if i < m-1 else ""
string += "]]"
return string

View File

@@ -0,0 +1,13 @@
.__init__ import *
def meanMedianFunc(maxlen = 10):
randomlist = random.sample(range(1, 99), maxlen)
total = 0
for n in randomlist:
total = total + n
mean = total/10
problem = f"Given the series of numbers {randomlist}. find the arithmatic mean and mdian of the series"
randomlist.sort()
median = (randomlist[4]+randomlist[5])/2
solution = f"Arithmetic mean of the series is {mean} and Arithmetic median of this series is {median}"
return problem, solution

View File

@@ -4,7 +4,7 @@ from .__init__ import *
def moduloFunc(maxRes=99, maxModulo=99):
a = random.randint(0, maxModulo)
b = random.randint(0, min(maxRes, maxModulo))
c = a % b
c = a % b if b != 0 else 0
problem = str(a) + "%" + str(b) + "="
solution = str(c)

View File

@@ -12,3 +12,5 @@ def profitLossPercentFunc(maxCP = 1000, maxSP = 1000):
percent = diff/cP * 100
problem = f"{profitOrLoss} percent when CP = {cP} and SP = {sP} is: "
solution = percent
return problem, solution

View File

@@ -0,0 +1,10 @@
.__init__ import *
def sectorAreaFunc(maxRadius = 49,maxAngle = 359):
Radius = random.randint(1, maxRadius)
Angle = random.randint(1, maxAngle)
problem = f"Given radius, {Radius} and angle, {Angle}. Find the area of the sector."
secArea = float((Angle / 360) * math.pi*Radius*Radius)
formatted_float = "{:.5f}".format(secArea)
solution = f"Area of sector = {formatted_float}"
return problem, solution

View File

@@ -0,0 +1,11 @@
from .__init__ import *
def vectorDotFunc(minVal=-20, maxVal=20):
a = [random.randint(minVal, maxVal) for i in range(3)]
b = [random.randint(minVal, maxVal) for i in range(3)]
c = a[0] * b[0] + a[1] * b[1] + a[2] * b[2]
problem = str(a) + " . " + str(b) + " = "
solution = str(c)
return problem, solution

View File

@@ -33,127 +33,82 @@ def getGenList():
# Format is:
# <title> = Generator("<Title>", <id>, <generalized problem>, <generalized solution>, <function name>)
# Funcs_start - DO NOT REMOVE!
addition = Generator("Addition", 0, "a+b=", "c", additionFunc)
subtraction = Generator("Subtraction", 1, "a-b=", "c", subtractionFunc)
multiplication = Generator(
"Multiplication", 2, "a*b=", "c", multiplicationFunc)
multiplication = Generator("Multiplication", 2, "a*b=", "c", multiplicationFunc)
division = Generator("Division", 3, "a/b=", "c", divisionFunc)
binaryComplement1s = Generator(
"Binary Complement 1s", 4, "1010=", "0101", binaryComplement1sFunc)
binaryComplement1s = Generator("Binary Complement 1s", 4, "1010=", "0101", binaryComplement1sFunc)
moduloDivision = Generator("Modulo Division", 5, "a%b=", "c", moduloFunc)
squareRoot = Generator("Square Root", 6, "sqrt(a)=", "b", squareRootFunc)
powerRuleDifferentiation = Generator(
"Power Rule Differentiation", 7, "nx^m=", "(n*m)x^(m-1)", powerRuleDifferentiationFunc)
powerRuleDifferentiation = Generator("Power Rule Differentiation", 7, "nx^m=", "(n*m)x^(m-1)", powerRuleDifferentiationFunc)
square = Generator("Square", 8, "a^2", "b", squareFunc)
lcm = Generator("LCM (Least Common Multiple)", 9,
"LCM of a and b = ", "c", lcmFunc)
gcd = Generator("GCD (Greatest Common Denominator)",
10, "GCD of a and b = ", "c", gcdFunc)
basicAlgebra = Generator(
"Basic Algebra", 11, "ax + b = c", "d", basicAlgebraFunc)
lcm = Generator("LCM (Least Common Multiple)", 9,"LCM of a and b = ", "c", lcmFunc)
gcd = Generator("GCD (Greatest Common Denominator)", 10, "GCD of a and b = ", "c", gcdFunc)
basicAlgebra = Generator("Basic Algebra", 11, "ax + b = c", "d", basicAlgebraFunc)
log = Generator("Logarithm", 12, "log2(8)", "3", logFunc)
intDivision = Generator("Easy Division", 13, "a/b=", "c", divisionToIntFunc)
decimalToBinary = Generator("Decimal to Binary", 14,
"Binary of a=", "b", DecimalToBinaryFunc)
binaryToDecimal = Generator("Binary to Decimal", 15,
"Decimal of a=", "b", BinaryToDecimalFunc)
fractionDivision = Generator(
"Fraction Division", 16, "(a/b)/(c/d)=", "x/y", divideFractionsFunc)
intMatrix22Multiplication = Generator("Integer Multiplication with 2x2 Matrix",
17, "k * [[a,b],[c,d]]=", "[[k*a,k*b],[k*c,k*d]]", multiplyIntToMatrix22)
areaOfTriangle = Generator(
"Area of Triangle", 18, "Area of Triangle with side lengths a, b, c = ", "area", areaOfTriangleFunc)
doesTriangleExist = Generator("Triangle exists check", 19,
"Does triangle with sides a, b and c exist?", "Yes/No", isTriangleValidFunc)
midPointOfTwoPoint = Generator("Midpoint of the two point", 20,
"((X1,Y1),(X2,Y2))=", "((X1+X2)/2,(Y1+Y2)/2)", MidPointOfTwoPointFunc)
factoring = Generator("Factoring Quadratic", 21,
"x^2+(x1+x2)+x1*x2", "(x-x1)(x-x2)", factoringFunc)
thirdAngleOfTriangle = Generator("Third Angle of Triangle", 22,
"Third Angle of the triangle = ", "angle3", thirdAngleOfTriangleFunc)
systemOfEquations = Generator("Solve a System of Equations in R^2", 23,
"2x + 5y = 13, -3x - 3y = -6", "x = -1, y = 3", systemOfEquationsFunc)
distance2Point = Generator("Distance between 2 points", 24,
"Find the distance between (x1,y1) and (x2,y2)", "sqrt(distanceSquared)", distanceTwoPointsFunc)
pythagoreanTheorem = Generator(
"Pythagorean Theorem", 25, "The hypotenuse of a right triangle given the other two lengths a and b = ", "hypotenuse", pythagoreanTheoremFunc)
# This has multiple variables whereas #23 has only x and y
linearEquations = Generator(
"Linear Equations", 26, "2x+5y=20 & 3x+6y=12", "x=-20 & y=12", linearEquationsFunc)
primeFactors = Generator("Prime Factorisation", 27,
"Prime Factors of a =", "[b, c, d, ...]", primeFactorsFunc)
fractionMultiplication = Generator(
"Fraction Multiplication", 28, "(a/b)*(c/d)=", "x/y", multiplyFractionsFunc)
angleRegularPolygon = Generator("Angle of a Regular Polygon", 29,
"Find the angle of a regular polygon with 6 sides", "120", regularPolygonAngleFunc)
combinations = Generator("Combinations of Objects", 30,
"Combinations available for picking 4 objects at a time from 6 distinct objects =", " 15", combinationsFunc)
decimalToBinary = Generator("Decimal to Binary", 14,"Binary of a=", "b", DecimalToBinaryFunc)
binaryToDecimal = Generator("Binary to Decimal", 15,"Decimal of a=", "b", BinaryToDecimalFunc)
fractionDivision = Generator("Fraction Division", 16, "(a/b)/(c/d)=", "x/y", divideFractionsFunc)
intMatrix22Multiplication = Generator("Integer Multiplication with 2x2 Matrix",17, "k * [[a,b],[c,d]]=", "[[k*a,k*b],[k*c,k*d]]", multiplyIntToMatrix22)
areaOfTriangle = Generator("Area of Triangle", 18, "Area of Triangle with side lengths a, b, c = ", "area", areaOfTriangleFunc)
doesTriangleExist = Generator("Triangle exists check", 19,"Does triangle with sides a, b and c exist?", "Yes/No", isTriangleValidFunc)
midPointOfTwoPoint = Generator("Midpoint of the two point", 20,"((X1,Y1),(X2,Y2))=", "((X1+X2)/2,(Y1+Y2)/2)", MidPointOfTwoPointFunc)
factoring = Generator("Factoring Quadratic", 21, "x^2+(x1+x2)+x1*x2", "(x-x1)(x-x2)", factoringFunc)
thirdAngleOfTriangle = Generator("Third Angle of Triangle", 22, "Third Angle of the triangle = ", "angle3", thirdAngleOfTriangleFunc)
systemOfEquations = Generator("Solve a System of Equations in R^2", 23, "2x + 5y = 13, -3x - 3y = -6", "x = -1, y = 3", systemOfEquationsFunc)
distance2Point = Generator("Distance between 2 points", 24, "Find the distance between (x1,y1) and (x2,y2)", "sqrt(distanceSquared)", distanceTwoPointsFunc)
pythagoreanTheorem = Generator("Pythagorean Theorem", 25, "The hypotenuse of a right triangle given the other two lengths a and b = ", "hypotenuse", pythagoreanTheoremFunc)
linearEquations = Generator("Linear Equations", 26, "2x+5y=20 & 3x+6y=12", "x=-20 & y=12", linearEquationsFunc)# This has multiple variables whereas #23 has only x and y
primeFactors = Generator("Prime Factorisation", 27, "Prime Factors of a =", "[b, c, d, ...]", primeFactorsFunc)
fractionMultiplication = Generator("Fraction Multiplication", 28, "(a/b)*(c/d)=", "x/y", multiplyFractionsFunc)
angleRegularPolygon = Generator("Angle of a Regular Polygon", 29,"Find the angle of a regular polygon with 6 sides", "120", regularPolygonAngleFunc)
combinations = Generator("Combinations of Objects", 30, "Combinations available for picking 4 objects at a time from 6 distinct objects =", " 15", combinationsFunc)
factorial = Generator("Factorial", 31, "a! = ", "b", factorialFunc)
surfaceAreaCubeGen = Generator(
"Surface Area of Cube", 32, "Surface area of cube with side a units is", "b units^2", surfaceAreaCube)
surfaceAreaCuboidGen = Generator(
"Surface Area of Cuboid", 33, "Surface area of cuboid with sides = a units, b units, c units is", "d units^2", surfaceAreaCuboid)
surfaceAreaCylinderGen = Generator(
"Surface Area of Cylinder", 34, "Surface area of cylinder with height = a units and radius = b units is", "c units^2", surfaceAreaCylinder)
volumeCubeGen = Generator(
"Volum of Cube", 35, "Volume of cube with side a units is", "b units^3", volumeCube)
volumeCuboidGen = Generator(
"Volume of Cuboid", 36, "Volume of cuboid with sides = a units, b units, c units is", "d units^3", volumeCuboid)
volumeCylinderGen = Generator(
"Volume of cylinder", 37, "Volume of cylinder with height = a units and radius = b units is", "c units^3", volumeCylinder)
surfaceAreaConeGen = Generator(
"Surface Area of cone", 38, "Surface area of cone with height = a units and radius = b units is", "c units^2", surfaceAreaCone)
volumeConeGen = Generator(
"Volume of cone", 39, "Volume of cone with height = a units and radius = b units is", "c units^3", volumeCone)
commonFactors = Generator(
"Common Factors", 40, "Common Factors of {a} and {b} = ", "[c, d, ...]", commonFactorsFunc)
intersectionOfTwoLines = Generator("Intersection of Two Lines", 41,
"Find the point of intersection of the two lines: y = m1*x + b1 and y = m2*x + b2", "(x, y)", intersectionOfTwoLinesFunc)
permutations = Generator(
"Permutations", 42, "Total permutations of 4 objects at a time from 10 objects is", "5040", permutationFunc)
vectorCross = Generator("Cross Product of 2 Vectors",
43, "a X b = ", "c", vectorCrossFunc)
compareFractions = Generator(
"Compare Fractions", 44, "Which symbol represents the comparison between a/b and c/d?", ">/</=", compareFractionsFunc)
simpleInterest = Generator(
"Simple Interest", 45, "Simple interest for a principle amount of a dollars, b% rate of interest and for a time period of c years is = ", "d dollars", simpleInterestFunc)
matrixMultiplication = Generator("Multiplication of two matrices",
46, "Multiply two matrices A and B", "C", matrixMultiplicationFunc)
CubeRoot = Generator(
"Cube Root", 47, "Cuberoot of a upto 2 decimal places is", "b", cubeRootFunc)
powerRuleIntegration = Generator(
"Power Rule Integration", 48, "nx^m=", "(n/m)x^(m+1)", powerRuleIntegrationFunc)
fourthAngleOfQuadrilateral = Generator("Fourth Angle of Quadrilateral", 49,
"Fourth angle of Quadrilateral with angles a,b,c =", "angle4", fourthAngleOfQuadriFunc)
quadraticEquationSolve = Generator(
"Quadratic Equation", 50, "Find the zeros {x1,x2} of the quadratic equation ax^2+bx+c=0", "x1,x2", quadraticEquation)
hcf = Generator("HCF (Highest Common Factor)", 51,
"HCF of a and b = ", "c", hcfFunc)
diceSumProbability = Generator("Probability of a certain sum appearing on faces of dice",
52, "If n dices are rolled then probabilty of getting sum of x is =", "z", DiceSumProbFunc)
exponentiation = Generator(
"Exponentiation", 53, "a^b = ", "c", exponentiationFunc)
confidenceInterval = Generator("Confidence interval For sample S",
54, "With X% confidence", "is (A,B)", confidenceIntervalFunc)
surdsComparison = Generator(
"Comparing surds", 55, "Fill in the blanks a^(1/b) _ c^(1/d)", "</>/=", surdsComparisonFunc)
fibonacciSeries = Generator("Fibonacci Series", 56, "fibonacci series of first a numbers",
"prints the fibonacci series starting from 0 to a", fibonacciSeriesFunc)
basicTrigonometry = Generator(
"Trigonometric Values", 57, "What is sin(X)?", "ans", basicTrigonometryFunc)
sumOfAnglesOfPolygon = Generator("Sum of Angles of Polygon", 58,
"Sum of angles of polygon with n sides = ", "sum", sumOfAnglesOfPolygonFunc)
dataSummary = Generator("Mean,Standard Deviation,Variance",
59, "a,b,c", "Mean:a+b+c/3,Std,Var", dataSummaryFunc)
surfaceAreaSphereGen = Generator(
"Surface Area of Sphere", 59, "Surface area of sphere with radius = a units is", "d units^2", surfaceAreaSphere)
volumeSphere = Generator("Volume of Sphere", 60,
"Volume of sphere with radius r m = ", "(4*pi/3)*r*r*r", volumeSphereFunc)
nthFibonacciNumberGen = Generator("nth Fibonacci number", 61, "What is the nth Fibonacci number", "Fn", nthFibonacciNumberFunc)
profitLossPercent = Generator("Profit or Loss Percent", 62, "Profit/ Loss percent when CP = cp and SP = sp is: ", "percent", profitLossPercentFunc)
binaryToHex = Generator("Binary to Hexidecimal", 63, "Hexidecimal of a=", "b", binaryToHexFunc)
complexNumMultiply = Generator("Multiplication of 2 complex numbers", 64, "(x + j) (y + j) = ", "xy + xj + yj -1", multiplyComplexNumbersFunc)
geometricprogression=Generator("Geometric Progression", 65, "Initial value,Common Ratio,nth Term,Sum till nth term =", "a,r,ar^n-1,sum(ar^n-1", geomProgrFunc)
geometricMean=Generator("Geometric Mean of N Numbers",66,"Geometric mean of n numbers A1 , A2 , ... , An = ","(A1*A2*...An)^(1/n) = ans",geometricMeanFunc)
harmonicMean=Generator("Harmonic Mean of N Numbers",67,"Harmonic mean of n numbers A1 , A2 , ... , An = "," n/((1/A1) + (1/A2) + ... + (1/An)) = ans",harmonicMeanFunc)
intMatrix22determinant = Generator("Determinant to 2x2 Matrix", 68, "Det([[a,b],[c,d]]) =", " a * d - b * c", determinantToMatrix22)
surfaceAreaCubeGen = Generator("Surface Area of Cube", 32, "Surface area of cube with side a units is", "b units^2", surfaceAreaCube)
surfaceAreaCuboidGen = Generator("Surface Area of Cuboid", 33, "Surface area of cuboid with sides = a units, b units, c units is", "d units^2", surfaceAreaCuboid)
surfaceAreaCylinderGen = Generator("Surface Area of Cylinder", 34, "Surface area of cylinder with height = a units and radius = b units is", "c units^2", surfaceAreaCylinder)
volumeCubeGen = Generator("Volum of Cube", 35, "Volume of cube with side a units is", "b units^3", volumeCube)
volumeCuboidGen = Generator("Volume of Cuboid", 36, "Volume of cuboid with sides = a units, b units, c units is", "d units^3", volumeCuboid)
volumeCylinderGen = Generator( "Volume of cylinder", 37, "Volume of cylinder with height = a units and radius = b units is", "c units^3", volumeCylinder)
surfaceAreaConeGen = Generator( "Surface Area of cone", 38, "Surface area of cone with height = a units and radius = b units is", "c units^2", surfaceAreaCone)
volumeConeGen = Generator( "Volume of cone", 39, "Volume of cone with height = a units and radius = b units is", "c units^3", volumeCone)
commonFactors = Generator("Common Factors", 40, "Common Factors of {a} and {b} = ", "[c, d, ...]", commonFactorsFunc)
intersectionOfTwoLines = Generator("Intersection of Two Lines", 41,"Find the point of intersection of the two lines: y = m1*x + b1 and y = m2*x + b2", "(x, y)", intersectionOfTwoLinesFunc)
permutations = Generator("Permutations", 42, "Total permutations of 4 objects at a time from 10 objects is", "5040", permutationFunc)
vectorCross = Generator("Cross Product of 2 Vectors",43, "a X b = ", "c", vectorCrossFunc)
compareFractions = Generator("Compare Fractions", 44, "Which symbol represents the comparison between a/b and c/d?", ">/</=", compareFractionsFunc)
simpleInterest = Generator("Simple Interest", 45, "Simple interest for a principle amount of a dollars, b% rate of interest and for a time period of c years is = ", "d dollars", simpleInterestFunc)
matrixMultiplication = Generator("Multiplication of two matrices",46, "Multiply two matrices A and B", "C", matrixMultiplicationFunc)
CubeRoot = Generator("Cube Root", 47, "Cuberoot of a upto 2 decimal places is", "b", cubeRootFunc)
powerRuleIntegration = Generator("Power Rule Integration", 48, "nx^m=", "(n/m)x^(m+1)", powerRuleIntegrationFunc)
fourthAngleOfQuadrilateral = Generator("Fourth Angle of Quadrilateral", 49,"Fourth angle of Quadrilateral with angles a,b,c =", "angle4", fourthAngleOfQuadriFunc)
quadraticEquationSolve = Generator("Quadratic Equation", 50, "Find the zeros {x1,x2} of the quadratic equation ax^2+bx+c=0", "x1,x2", quadraticEquation)
hcf = Generator("HCF (Highest Common Factor)", 51,"HCF of a and b = ", "c", hcfFunc)
diceSumProbability = Generator("Probability of a certain sum appearing on faces of dice",52, "If n dices are rolled then probabilty of getting sum of x is =", "z", DiceSumProbFunc)
exponentiation = Generator("Exponentiation", 53, "a^b = ", "c", exponentiationFunc)
confidenceInterval = Generator("Confidence interval For sample S",54, "With X% confidence", "is (A,B)", confidenceIntervalFunc)
surdsComparison = Generator("Comparing surds", 55, "Fill in the blanks a^(1/b) _ c^(1/d)", "</>/=", surdsComparisonFunc)
fibonacciSeries = Generator("Fibonacci Series", 56, "fibonacci series of first a numbers","prints the fibonacci series starting from 0 to a", fibonacciSeriesFunc)
basicTrigonometry = Generator("Trigonometric Values", 57, "What is sin(X)?", "ans", basicTrigonometryFunc)
sumOfAnglesOfPolygon = Generator("Sum of Angles of Polygon", 58,"Sum of angles of polygon with n sides = ", "sum", sumOfAnglesOfPolygonFunc)
dataSummary = Generator("Mean,Standard Deviation,Variance",59, "a,b,c", "Mean:a+b+c/3,Std,Var", dataSummaryFunc)
surfaceAreaSphereGen = Generator("Surface Area of Sphere", 60, "Surface area of sphere with radius = a units is", "d units^2", surfaceAreaSphere)
volumeSphere = Generator("Volume of Sphere", 61, "Volume of sphere with radius r m = ", "(4*pi/3)*r*r*r", volumeSphereFunc)
nthFibonacciNumberGen = Generator("nth Fibonacci number", 62, "What is the nth Fibonacci number", "Fn", nthFibonacciNumberFunc)
profitLossPercent = Generator("Profit or Loss Percent", 63, "Profit/ Loss percent when CP = cp and SP = sp is: ", "percent", profitLossPercentFunc)
binaryToHex = Generator("Binary to Hexidecimal", 64, "Hexidecimal of a=", "b", binaryToHexFunc)
complexNumMultiply = Generator("Multiplication of 2 complex numbers", 65, "(x + j) (y + j) = ", "xy + xj + yj -1", multiplyComplexNumbersFunc)
geometricprogression=Generator("Geometric Progression", 66, "Initial value,Common Ratio,nth Term,Sum till nth term =", "a,r,ar^n-1,sum(ar^n-1", geomProgrFunc)
geometricMean=Generator("Geometric Mean of N Numbers",67,"Geometric mean of n numbers A1 , A2 , ... , An = ","(A1*A2*...An)^(1/n) = ans",geometricMeanFunc)
harmonicMean=Generator("Harmonic Mean of N Numbers",68,"Harmonic mean of n numbers A1 , A2 , ... , An = "," n/((1/A1) + (1/A2) + ... + (1/An)) = ans",harmonicMeanFunc)
eucldianNorm=Generator("Euclidian norm or L2 norm of a vector", 69, "Euclidian Norm of a vector V:[v1, v2, ......., vn]", "sqrt(v1^2 + v2^2 ........ +vn^2)", euclidianNormFunc)
angleBtwVectors=Generator("Angle between 2 vectors", 70, "Angle Between 2 vectors V1=[v11, v12, ..., v1n] and V2=[v21, v22, ....., v2n]", "V1.V2 / (euclidNorm(V1)*euclidNorm(V2))", angleBtwVectorsFunc)
absoluteDifference=Generator("Absolute difference between two numbers", 71, "Absolute difference betweeen two numbers a and b =", "|a-b|", absoluteDifferenceFunc)
vectorDot = Generator("Dot Product of 2 Vectors", 72, "a . b = ", "c", vectorDotFunc)
binary2sComplement = Generator("Binary 2's Complement", 73, "2's complement of 11010110 =", "101010", binary2sComplementFunc)
invertmatrix = Generator("Inverse of a Matrix", 74, "Inverse of a matrix A is", "A^(-1)", matrixInversion)
sectorArea=Generator("Area of a Sector", 75,"Area of a sector with radius, r and angle, a ","Area",sectorAreaFunc)
meanMedian=Generator("Mean and Median", 76,"Mean and median of given set of numbers","Mean, Median",meanMedianFunc)
intMatrix22determinant = Generator("Determinant to 2x2 Matrix", 77, "Det([[a,b],[c,d]]) =", " a * d - b * c", determinantToMatrix22)

View File

@@ -3,3 +3,4 @@ from mathgenerator import mathgen
#test your generators here
print(mathgen.addition())
print(mathgen.genById(74))