-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.py
48 lines (39 loc) · 1.44 KB
/
script.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from nile import get_distance, format_price, SHIPPING_PRICES
from test import test_function
# Define calculate_shipping_cost() here:
def calculate_shipping_cost(from_coords, to_coords, shipping_type = 'Overnight'):
from_lat, from_long = from_coords
to_lat, to_long = to_coords
distance = get_distance(*from_coords, *to_coords)
shipping_rate = SHIPPING_PRICES[shipping_type]
price = distance * shipping_rate
return format_price(price)
# Test the function by calling
test_function(calculate_shipping_cost)
# Define calculate_driver_cost() here
def calculate_driver_cost(distance, *drivers):
cheapest_driver = None
cheapest_driver_price = None
for driver in drivers:
driver_time = distance / driver.speed
price_for_driver = driver_time * driver.salary
if cheapest_driver is None:
cheapest_driver = driver
cheapest_driver_price = price_for_driver
elif price_for_driver < cheapest_driver_price:
cheapest_driver = driver
cheapest_driver_price = price_for_driver
return cheapest_driver_price, cheapest_driver
# Test the function by calling
test_function(calculate_driver_cost)
# Define calculate_money_made() here
def calculate_money_made(**trips):
pass
total_money_made = 0
for trip_id, trip in trips.items():
pass
trip_revenue = trip.cost - trip.driver.cost
total_money_made += trip_revenue
return total_money_made
# Test the function by calling
test_function(calculate_money_made)