From 131cf5badf29f4aafbadabf7254e147c89adda03 Mon Sep 17 00:00:00 2001 From: Anshita Date: Sat, 17 Oct 2020 18:56:41 +0530 Subject: [PATCH 1/4] AP series term/sum problem --- mathgenerator/mathgen.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/mathgenerator/mathgen.py b/mathgenerator/mathgen.py index 1041a55..cf87780 100644 --- a/mathgenerator/mathgen.py +++ b/mathgenerator/mathgen.py @@ -714,6 +714,24 @@ def fourthAngleOfQuadriFunc(maxAngle = 180): solution = angle4 return problem, solution +def arithmeticProgressionFunc (maxd = 100, maxa = 100, maxn = 100): + sumOrTerm = random.randint (0,1) + d = random.randint (-1 * maxd, maxd) + a1 = random.randint (-1 * maxa, maxa) + a2 = a1 + d + a3 = a2 + d + n = random.randint (4, maxn) + apString = str(a1) +'\t' + str(a2) +'\t' + str(a3) + '\t...' + if (sumOrTerm == 0) : #sum + problem = 'Find the sum of first ' + str(n) + ' terms of the AP series: ' + apString + solution = n * ((2*a1) + ((n-1)*d))/2 + else : #term + problem = 'Find the term number ' + str(n) + ' of the AP series: ' + apString + solution = a1 + ((n-1)*d) + return problem, solution + + + # || Class Instances #Format is: @@ -769,3 +787,4 @@ matrixMultiplication = Generator("Multiplication of two matrices", 46, "Multipl 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) +arithmeticProgression = Generator ("Arithmetic Progression", 50, "n-Sum or n-Term of an Arithmetic Progression", "Sum or term", arithmeticProgressionFunc) From ddc42a5638cce8d1df020a0909ff6a45d88c6b2c Mon Sep 17 00:00:00 2001 From: Anshita Date: Tue, 20 Oct 2020 00:44:41 +0530 Subject: [PATCH 2/4] Split AP into 2 funcs and reorganized --- mathgenerator/funcs/__init__.py | 2 ++ mathgenerator/funcs/arithmeticProgressionSumFunc.py | 1 + mathgenerator/funcs/arithmeticProgressionTermFunc.py | 3 ++- mathgenerator/mathgen.py | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/mathgenerator/funcs/__init__.py b/mathgenerator/funcs/__init__.py index 83702eb..bf9803e 100644 --- a/mathgenerator/funcs/__init__.py +++ b/mathgenerator/funcs/__init__.py @@ -84,3 +84,5 @@ from .compoundInterestFunc import * from .deciToHexaFunc import * from .percentageFunc import * from .celsiustofahrenheit import * +from .arithmeticProgressionSumFunc import * +from .arithmeticProgressionTermFunc import * diff --git a/mathgenerator/funcs/arithmeticProgressionSumFunc.py b/mathgenerator/funcs/arithmeticProgressionSumFunc.py index ca2ada3..d7e5589 100644 --- a/mathgenerator/funcs/arithmeticProgressionSumFunc.py +++ b/mathgenerator/funcs/arithmeticProgressionSumFunc.py @@ -1,5 +1,6 @@ from .__init__ import * + def arithmeticProgressionSumFunc (maxd = 100, maxa = 100, maxn = 100): d = random.randint (-1 * maxd, maxd) a1 = random.randint (-1 * maxa, maxa) diff --git a/mathgenerator/funcs/arithmeticProgressionTermFunc.py b/mathgenerator/funcs/arithmeticProgressionTermFunc.py index f6662d5..9905b2b 100644 --- a/mathgenerator/funcs/arithmeticProgressionTermFunc.py +++ b/mathgenerator/funcs/arithmeticProgressionTermFunc.py @@ -1,5 +1,6 @@ from .__init__ import * + def arithmeticProgressionTermFunc (maxd = 100, maxa = 100, maxn = 100): d = random.randint (-1 * maxd, maxd) a1 = random.randint (-1 * maxa, maxa) @@ -9,4 +10,4 @@ def arithmeticProgressionTermFunc (maxd = 100, maxa = 100, maxn = 100): apString = str(a1) +', ' + str(a2) +', ' + str(a3) + ' ... ' problem = 'Find the term number ' + str(n) + ' of the AP series: ' + apString solution = a1 + ((n-1)*d) - return problen, solution + return problem, solution diff --git a/mathgenerator/mathgen.py b/mathgenerator/mathgen.py index f9ef504..1e9b4d7 100644 --- a/mathgenerator/mathgen.py +++ b/mathgenerator/mathgen.py @@ -275,4 +275,4 @@ arithmeticProgressionTerm = Generator ("AP Term Calculation", 82, arithmeticProgressionSum = Generator ("AP Sum Calculation", 83, "Find the sum of first n terms of the AP series: a1, a2, a3 ...", - "Sum", arithmeticProgressionSumFunc) \ No newline at end of file + "Sum", arithmeticProgressionSumFunc) From da48b28397f8e5cb23536db66c9a67264b8574b1 Mon Sep 17 00:00:00 2001 From: Anshita Date: Tue, 20 Oct 2020 00:51:54 +0530 Subject: [PATCH 3/4] linting improved --- .../funcs/arithmeticProgressionSumFunc.py | 15 ++++++++------- .../funcs/arithmeticProgressionTermFunc.py | 12 ++++++------ mathgenerator/mathgen.py | 12 ++++++------ 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/mathgenerator/funcs/arithmeticProgressionSumFunc.py b/mathgenerator/funcs/arithmeticProgressionSumFunc.py index d7e5589..950f7c1 100644 --- a/mathgenerator/funcs/arithmeticProgressionSumFunc.py +++ b/mathgenerator/funcs/arithmeticProgressionSumFunc.py @@ -1,13 +1,14 @@ from .__init__ import * -def arithmeticProgressionSumFunc (maxd = 100, maxa = 100, maxn = 100): - d = random.randint (-1 * maxd, maxd) - a1 = random.randint (-1 * maxa, maxa) +def arithmeticProgressionSumFunc(maxd=100, maxa=100, maxn=100): + d = random.randint(-1 * maxd, maxd) + a1 = random.randint(-1 * maxa, maxa) a2 = a1 + d a3 = a2 + d - n = random.randint (4, maxn) - apString = str(a1) +', ' + str(a2) +', ' + str(a3) + ' ... ' + n = random.randint(4, maxn) + apString = str(a1) + ', ' + str(a2) + ', ' + str(a3) + ' ... ' problem = 'Find the sum of first ' + str(n) + ' terms of the AP series: ' + apString - solution = n * ((2*a1) + ((n-1)*d))/2 - return problem, solution \ No newline at end of file + solution = n * ((2 * a1) + ((n-1) * d)) / 2 + return problem, solution + \ No newline at end of file diff --git a/mathgenerator/funcs/arithmeticProgressionTermFunc.py b/mathgenerator/funcs/arithmeticProgressionTermFunc.py index 9905b2b..cba850d 100644 --- a/mathgenerator/funcs/arithmeticProgressionTermFunc.py +++ b/mathgenerator/funcs/arithmeticProgressionTermFunc.py @@ -1,13 +1,13 @@ from .__init__ import * -def arithmeticProgressionTermFunc (maxd = 100, maxa = 100, maxn = 100): - d = random.randint (-1 * maxd, maxd) - a1 = random.randint (-1 * maxa, maxa) +def arithmeticProgressionTermFunc(maxd=100, maxa=100, maxn=100): + d = random.randint(-1 * maxd, maxd) + a1 = random.randint(-1 * maxa, maxa) a2 = a1 + d a3 = a2 + d - n = random.randint (4, maxn) - apString = str(a1) +', ' + str(a2) +', ' + str(a3) + ' ... ' + n = random.randint(4, maxn) + apString = str(a1) + ', ' + str(a2) + ', ' + str(a3) + ' ... ' problem = 'Find the term number ' + str(n) + ' of the AP series: ' + apString - solution = a1 + ((n-1)*d) + solution = a1 + ((n-1) * d) return problem, solution diff --git a/mathgenerator/mathgen.py b/mathgenerator/mathgen.py index 1e9b4d7..7df376f 100644 --- a/mathgenerator/mathgen.py +++ b/mathgenerator/mathgen.py @@ -269,10 +269,10 @@ percentage = Generator("Percentage of a number", 80, "What is a% of b?", "percentage", percentageFunc) celsiustofahrenheit = Generator("Celsius To Fahrenheit", 81, "(C +(9/5))+32=", "F", celsiustofahrenheitFunc) -arithmeticProgressionTerm = Generator ("AP Term Calculation", 82, - "Find the term number n of the AP series: a1, a2, a3 ..." , - "a-n", arithmeticProgressionTermFunc) +arithmeticProgressionTerm = Generator("AP Term Calculation", 82, + "Find the term number n of the AP series: a1, a2, a3 ...", + "a-n", arithmeticProgressionTermFunc) -arithmeticProgressionSum = Generator ("AP Sum Calculation", 83, - "Find the sum of first n terms of the AP series: a1, a2, a3 ...", - "Sum", arithmeticProgressionSumFunc) +arithmeticProgressionSum = Generator("AP Sum Calculation", 83, + "Find the sum of first n terms of the AP series: a1, a2, a3 ...", + "Sum", arithmeticProgressionSumFunc) From d95dd5e29c76561b35d5d18ab249d237d7a927e2 Mon Sep 17 00:00:00 2001 From: Anshita Date: Tue, 20 Oct 2020 00:55:15 +0530 Subject: [PATCH 4/4] linting improved v2 --- mathgenerator/funcs/arithmeticProgressionSumFunc.py | 3 +-- mathgenerator/funcs/arithmeticProgressionTermFunc.py | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/mathgenerator/funcs/arithmeticProgressionSumFunc.py b/mathgenerator/funcs/arithmeticProgressionSumFunc.py index 950f7c1..517d713 100644 --- a/mathgenerator/funcs/arithmeticProgressionSumFunc.py +++ b/mathgenerator/funcs/arithmeticProgressionSumFunc.py @@ -9,6 +9,5 @@ def arithmeticProgressionSumFunc(maxd=100, maxa=100, maxn=100): n = random.randint(4, maxn) apString = str(a1) + ', ' + str(a2) + ', ' + str(a3) + ' ... ' problem = 'Find the sum of first ' + str(n) + ' terms of the AP series: ' + apString - solution = n * ((2 * a1) + ((n-1) * d)) / 2 + solution = n * ((2 * a1) + ((n - 1) * d)) / 2 return problem, solution - \ No newline at end of file diff --git a/mathgenerator/funcs/arithmeticProgressionTermFunc.py b/mathgenerator/funcs/arithmeticProgressionTermFunc.py index cba850d..63cca09 100644 --- a/mathgenerator/funcs/arithmeticProgressionTermFunc.py +++ b/mathgenerator/funcs/arithmeticProgressionTermFunc.py @@ -9,5 +9,5 @@ def arithmeticProgressionTermFunc(maxd=100, maxa=100, maxn=100): n = random.randint(4, maxn) apString = str(a1) + ', ' + str(a2) + ', ' + str(a3) + ' ... ' problem = 'Find the term number ' + str(n) + ' of the AP series: ' + apString - solution = a1 + ((n-1) * d) + solution = a1 + ((n - 1) * d) return problem, solution