From 88b271299d508a21436be85ea7723853ed69a1c0 Mon Sep 17 00:00:00 2001 From: Kartik Mittal Date: Tue, 5 May 2020 09:58:41 +0530 Subject: [PATCH 1/5] wip --- app/src/views/math_functions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/views/math_functions.py b/app/src/views/math_functions.py index d02273c..7fc822f 100644 --- a/app/src/views/math_functions.py +++ b/app/src/views/math_functions.py @@ -33,4 +33,4 @@ def ack_mn(): def fact_n(): - return "" + return "factorial to be implemented" From 0da18ef33a0a25b64f2790c8d2c79fd7a91adc2c Mon Sep 17 00:00:00 2001 From: rajj0208 Date: Wed, 6 May 2020 07:14:51 +0530 Subject: [PATCH 2/5] wip --- app/src/models/compute.py | 10 ++++++++-- app/src/views/math_functions.py | 9 +++++++-- app/templates/home.html | 6 ++++++ 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/app/src/models/compute.py b/app/src/models/compute.py index 4d1c761..6934c5e 100644 --- a/app/src/models/compute.py +++ b/app/src/models/compute.py @@ -21,6 +21,12 @@ def fibonacci(n): def ackermann(m, n): return - + @staticmethod def factorial(n): - return + fact=1 + if n==0: + return 0 + else: + for i in range(1,n+1): + fact=fact*i + return fact diff --git a/app/src/views/math_functions.py b/app/src/views/math_functions.py index d02273c..790eb09 100644 --- a/app/src/views/math_functions.py +++ b/app/src/views/math_functions.py @@ -31,6 +31,11 @@ def fib_n(): def ack_mn(): return "" - +@math.route("/fact", methods=["POST"]) def fact_n(): - return "" + n = request.form["fact_n"] + if not validations.validate_int(n): + # in case of invalid input, return HTTP response code for Bad Request + return "Please enter a valid input!", 400 + return str(Compute.factorial(int(n))) + diff --git a/app/templates/home.html b/app/templates/home.html index b659a56..874009b 100644 --- a/app/templates/home.html +++ b/app/templates/home.html @@ -7,6 +7,12 @@ +
+
+ Factorial(n):
+ + +
\ No newline at end of file From 57433de6e768387969c3c4c5711ffa918018d456 Mon Sep 17 00:00:00 2001 From: rajj0208 Date: Wed, 6 May 2020 07:56:34 +0530 Subject: [PATCH 3/5] fact --- app/src/views/math_functions.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/app/src/views/math_functions.py b/app/src/views/math_functions.py index b2f1bdc..3eb42d6 100644 --- a/app/src/views/math_functions.py +++ b/app/src/views/math_functions.py @@ -33,13 +33,8 @@ def ack_mn(): @math.route("/fact", methods=["POST"]) def fact_n(): -<<<<<<< HEAD n = request.form["fact_n"] if not validations.validate_int(n): # in case of invalid input, return HTTP response code for Bad Request return "Please enter a valid input!", 400 return str(Compute.factorial(int(n))) - -======= - return "factorial to be implemented" ->>>>>>> 88b271299d508a21436be85ea7723853ed69a1c0 From cc31649f99100333148e6a8ec8f48f100ba09803 Mon Sep 17 00:00:00 2001 From: rajj0208 Date: Thu, 7 May 2020 18:01:06 +0530 Subject: [PATCH 4/5] newchange --- app/test/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 app/test/__init__.py diff --git a/app/test/__init__.py b/app/test/__init__.py new file mode 100644 index 0000000..e69de29 From 7f844d079445f438a6cf595463d3877ae28579b4 Mon Sep 17 00:00:00 2001 From: rajj0208 Date: Thu, 7 May 2020 18:47:04 +0530 Subject: [PATCH 5/5] testing --- app/src/models/__init__.py | 0 app/src/models/compute.py | 2 +- app/test/test_compute.py | 5 ++++- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 app/src/models/__init__.py diff --git a/app/src/models/__init__.py b/app/src/models/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/app/src/models/compute.py b/app/src/models/compute.py index 6934c5e..c9d3144 100644 --- a/app/src/models/compute.py +++ b/app/src/models/compute.py @@ -25,7 +25,7 @@ def ackermann(m, n): def factorial(n): fact=1 if n==0: - return 0 + return 1 else: for i in range(1,n+1): fact=fact*i diff --git a/app/test/test_compute.py b/app/test/test_compute.py index 21494f7..3656c4c 100644 --- a/app/test/test_compute.py +++ b/app/test/test_compute.py @@ -1,4 +1,4 @@ -from compute import Compute +from app.src.models.compute import Compute def test_fibonacci(): @@ -7,6 +7,9 @@ def test_fibonacci(): def test_ackermann(): + pass def test_factorial(): + assert Compute.factorial(0)==1 + assert Compute.factorial(3)==6