From 61490c3fce76bf9637b85ed5188943f138a7936b Mon Sep 17 00:00:00 2001 From: lukew3 Date: Thu, 15 Oct 2020 10:10:16 -0400 Subject: [PATCH 1/2] created genById function --- mathgenerator/mathgen.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/mathgenerator/mathgen.py b/mathgenerator/mathgen.py index 7c3f858..376cdb5 100644 --- a/mathgenerator/mathgen.py +++ b/mathgenerator/mathgen.py @@ -1,5 +1,6 @@ import random +genList = [] # || Generator class class Generator: @@ -9,6 +10,7 @@ class Generator: self.generalProb = generalProb self.generalSol = generalSol self.func = func + genList.append(self) def __str__(self): return str(self.id) + " " + self.title + " " + self.generalProb + " " + self.generalSol @@ -16,6 +18,10 @@ class Generator: def __call__(self): return self.func() +# || CallbyId +def genById(id): + generator = genList[id-2] + return(generator()) # || Functions @@ -53,13 +59,13 @@ def divisionFunc(maxRes = 99, maxDivid = 99): def binaryComplement1sFunc(maxDigits = 10): question = '' - answer = '' - for i in range(random.randint(1,maxDigits)): - temp = str(random.randint(0, 1)) + answer = '' + for i in range(random.randint(1,maxDigits)): + temp = str(random.randint(0, 1)) question += temp - answer += "0" if temp == "1" else "1" - - problem = question + answer += "0" if temp == "1" else "1" + + problem = question solution = answer return problem, solution @@ -159,7 +165,7 @@ def divisionToIntFunc(maxA=25, maxB=25): def decimalToBinary(max_dec=99): a = random.randint(1, max_dec) - b = bin(a).replace("0b", "") + b = bin(a).replace("0b", "") problem = "Binary of "+str(a)+"=" solution = str(b) return problem, solution From e70c5c159ec41abd20b3fd598c725e29e69b9e27 Mon Sep 17 00:00:00 2001 From: lukew3 Date: Thu, 15 Oct 2020 10:14:34 -0400 Subject: [PATCH 2/2] renumbered Ids to start at 0 --- README.md | 16 ++++++++-------- mathgenerator/mathgen.py | 32 ++++++++++++++++---------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index d2043a6..966f13b 100644 --- a/README.md +++ b/README.md @@ -21,11 +21,11 @@ problem, solution = mathgen.addition() | Id | Skill | Example problem | Example Solution | Function Name | Status | |------|----------------------------|-----------------|-------------------|--------------------------|-------------| -| 2 | Addition | 1+5= | 6 | addition | Complete | -| 3 | Subtraction | 9-4= | 5 | subtraction | Complete | -| 4 | Multiplication | 4*6= | 24 | multiplication | Complete | -| 5 | Division | 4/2= | 2 | division | Complete | -| 6 | Binary Complement 1s | 1010= | 0101 | binaryComplement1s | Complete | -| 7 | Modulo Division | 10%3= | 1 | moduloDivision | Complete | -| 8 | Square Root | sqrt(a)= | b | squareRootFunction | Complete | -| 9 | Power Rule Differentiation | nx^m | (n*m)x^(m-1) | powerRuleDifferentiation | Complete | +| 0 | Addition | 1+5= | 6 | addition | Complete | +| 1 | Subtraction | 9-4= | 5 | subtraction | Complete | +| 2 | Multiplication | 4*6= | 24 | multiplication | Complete | +| 3 | Division | 4/2= | 2 | division | Complete | +| 4 | Binary Complement 1s | 1010= | 0101 | binaryComplement1s | Complete | +| 5 | Modulo Division | 10%3= | 1 | moduloDivision | Complete | +| 6 | Square Root | sqrt(a)= | b | squareRootFunction | Complete | +| 7 | Power Rule Differentiation | nx^m | (n*m)x^(m-1) | powerRuleDifferentiation | Complete | diff --git a/mathgenerator/mathgen.py b/mathgenerator/mathgen.py index 376cdb5..49f8245 100644 --- a/mathgenerator/mathgen.py +++ b/mathgenerator/mathgen.py @@ -20,7 +20,7 @@ class Generator: # || CallbyId def genById(id): - generator = genList[id-2] + generator = genList[id] return(generator()) # || Functions @@ -174,18 +174,18 @@ def decimalToBinary(max_dec=99): #Format is: # = Generator("<Title>", <id>, <generalized problem>, <generalized solution>, <function name>) -addition = Generator("Addition", 2, "a+b=", "c", additionFunc) -subtraction = Generator("Subtraction", 3, "a-b=", "c", subtractionFunc) -multiplication = Generator("Multiplication", 4, "a*b=", "c", multiplicationFunc) -division = Generator("Division", 5, "a/b=", "c", divisionFunc) -binaryComplement1s = Generator("binary_complement_1s", 6, "1010=", "0101", binaryComplement1sFunc) -moduloDivision = Generator("Modulo_Division", 7, "a%b=", "c", moduloFunc) -squareRoot = Generator("Square_Root", 8, "sqrt(a)=", "b", squareRootFunction) -powerRuleDifferentiation = Generator("Power_Rule_Differentiation", 9, "nx^m=", "(n*m)x^(m-1)", powerRuleDifferentiationFunc) -square = Generator("Square", 10,"a^2", "b", squareFunc) -lcm = Generator("Lcm_generator", 11, "LCM of a and b = ", "c", lcmFunc) -gcd = Generator("Gcd_generator", 12, "GCD of a and b = ", "c", gcdFunc) -basicAlgebra = Generator("Basic_Algebra", 13, "ax + b = c", "d", basicAlgebraFunc) -log = Generator("Logarithm", 13, "log2(8)", "3", logFunc) -intdivision = Generator("Easy Divisio",14,"a/b=","c",divisionToIntFunc) -decimaltobinary = Generator("Decimal to Binary",15,"Binary of a=","b",decimalToBinary) +addition = Generator("Addition", 0, "a+b=", "c", additionFunc) +subtraction = Generator("Subtraction", 1, "a-b=", "c", subtractionFunc) +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) +moduloDivision = Generator("Modulo_Division", 5, "a%b=", "c", moduloFunc) +squareRoot = Generator("Square_Root", 6, "sqrt(a)=", "b", squareRootFunction) +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_generator", 9, "LCM of a and b = ", "c", lcmFunc) +gcd = Generator("Gcd_generator", 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 Divisio", 13,"a/b=","c",divisionToIntFunc) +decimaltobinary = Generator("Decimal to Binary", 14,"Binary of a=","b",decimalToBinary)