From 163861de9ab5c5d45bf14db4b05f3cd3a67eb1d1 Mon Sep 17 00:00:00 2001 From: Hardik Pawar Date: Tue, 24 Oct 2023 17:33:31 +0530 Subject: [PATCH 1/5] Add doctests for fractional knapsack --- greedy_methods/fractional_knapsack.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/greedy_methods/fractional_knapsack.py b/greedy_methods/fractional_knapsack.py index 58976d40c02b..12b02b78d136 100644 --- a/greedy_methods/fractional_knapsack.py +++ b/greedy_methods/fractional_knapsack.py @@ -6,6 +6,10 @@ def frac_knapsack(vl, wt, w, n): """ >>> frac_knapsack([60, 100, 120], [10, 20, 30], 50, 3) 240.0 + >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 10, 4) + 105.0 + >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 8, 4) + 95.0 """ r = sorted(zip(vl, wt), key=lambda x: x[0] / x[1], reverse=True) From 804aa7730e3709ab12f642ec7c1a4da4a5d5c4bc Mon Sep 17 00:00:00 2001 From: Hardik Pawar <97388607+Hardvan@users.noreply.github.com> Date: Tue, 24 Oct 2023 19:26:34 +0530 Subject: [PATCH 2/5] Update greedy_methods/fractional_knapsack.py Co-authored-by: Christian Clauss --- greedy_methods/fractional_knapsack.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/greedy_methods/fractional_knapsack.py b/greedy_methods/fractional_knapsack.py index 12b02b78d136..5be6c4a893bf 100644 --- a/greedy_methods/fractional_knapsack.py +++ b/greedy_methods/fractional_knapsack.py @@ -10,6 +10,22 @@ def frac_knapsack(vl, wt, w, n): 105.0 >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 8, 4) 95.0 + >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6], 8, 4) + ? + >>> frac_knapsack([10, 40, 30], [5, 4, 6, 3], 8, 4) + ? + >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 0, 4) + ? + >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 8, 0) + ? + >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], -8, 4) + ? + >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 8, -4) + ? + >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 800, 4) + ? + >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 8, 400) + ? """ r = sorted(zip(vl, wt), key=lambda x: x[0] / x[1], reverse=True) From 801a4cef90184ae9665b69f10382241b498c1753 Mon Sep 17 00:00:00 2001 From: Hardik Pawar Date: Tue, 24 Oct 2023 19:45:21 +0530 Subject: [PATCH 3/5] Run doctests --- greedy_methods/fractional_knapsack.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/greedy_methods/fractional_knapsack.py b/greedy_methods/fractional_knapsack.py index 5be6c4a893bf..3c66605e4627 100644 --- a/greedy_methods/fractional_knapsack.py +++ b/greedy_methods/fractional_knapsack.py @@ -11,21 +11,21 @@ def frac_knapsack(vl, wt, w, n): >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 8, 4) 95.0 >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6], 8, 4) - ? + 60.0 >>> frac_knapsack([10, 40, 30], [5, 4, 6, 3], 8, 4) - ? + 60.0 >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 0, 4) - ? + 0 >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 8, 0) - ? + 95.0 >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], -8, 4) - ? + 0 >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 8, -4) - ? + 95.0 >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 800, 4) - ? + 130 >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 8, 400) - ? + 95.0 """ r = sorted(zip(vl, wt), key=lambda x: x[0] / x[1], reverse=True) From 247edfe061fedcbbcd19439de0f4b0f8644b9f2f Mon Sep 17 00:00:00 2001 From: Hardik Pawar <97388607+Hardvan@users.noreply.github.com> Date: Tue, 24 Oct 2023 19:57:28 +0530 Subject: [PATCH 4/5] Update greedy_methods/fractional_knapsack.py Co-authored-by: Christian Clauss --- greedy_methods/fractional_knapsack.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/greedy_methods/fractional_knapsack.py b/greedy_methods/fractional_knapsack.py index 3c66605e4627..039840002f06 100644 --- a/greedy_methods/fractional_knapsack.py +++ b/greedy_methods/fractional_knapsack.py @@ -26,6 +26,8 @@ def frac_knapsack(vl, wt, w, n): 130 >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 8, 400) 95.0 + >>> frac_knapsack("ABCD", [5, 4, 6, 3], 8, 400) + ? """ r = sorted(zip(vl, wt), key=lambda x: x[0] / x[1], reverse=True) From 942faf543eb45e5e10a1e256abadd12c682ed55d Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Tue, 24 Oct 2023 16:32:58 +0200 Subject: [PATCH 5/5] Update greedy_methods/fractional_knapsack.py --- greedy_methods/fractional_knapsack.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/greedy_methods/fractional_knapsack.py b/greedy_methods/fractional_knapsack.py index 039840002f06..d52b56f23569 100644 --- a/greedy_methods/fractional_knapsack.py +++ b/greedy_methods/fractional_knapsack.py @@ -27,7 +27,9 @@ def frac_knapsack(vl, wt, w, n): >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 8, 400) 95.0 >>> frac_knapsack("ABCD", [5, 4, 6, 3], 8, 400) - ? + Traceback (most recent call last): + ... + TypeError: unsupported operand type(s) for /: 'str' and 'int' """ r = sorted(zip(vl, wt), key=lambda x: x[0] / x[1], reverse=True)