@@ -6,6 +6,30 @@ def frac_knapsack(vl, wt, w, n):
6
6
"""
7
7
>>> frac_knapsack([60, 100, 120], [10, 20, 30], 50, 3)
8
8
240.0
9
+ >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 10, 4)
10
+ 105.0
11
+ >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 8, 4)
12
+ 95.0
13
+ >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6], 8, 4)
14
+ 60.0
15
+ >>> frac_knapsack([10, 40, 30], [5, 4, 6, 3], 8, 4)
16
+ 60.0
17
+ >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 0, 4)
18
+ 0
19
+ >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 8, 0)
20
+ 95.0
21
+ >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], -8, 4)
22
+ 0
23
+ >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 8, -4)
24
+ 95.0
25
+ >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 800, 4)
26
+ 130
27
+ >>> frac_knapsack([10, 40, 30, 50], [5, 4, 6, 3], 8, 400)
28
+ 95.0
29
+ >>> frac_knapsack("ABCD", [5, 4, 6, 3], 8, 400)
30
+ Traceback (most recent call last):
31
+ ...
32
+ TypeError: unsupported operand type(s) for /: 'str' and 'int'
9
33
"""
10
34
11
35
r = sorted (zip (vl , wt ), key = lambda x : x [0 ] / x [1 ], reverse = True )
0 commit comments