Learn practical skills, build real-world projects, and advance your career
import math
cities = [{"city": "Paris",
              "flight_cost": 200,
              "hotel_per_day": 20,
              "weekly_car_rent": 200},
         {"city": "London",
              "flight_cost": 250,
              "hotel_per_day": 30,
              "weekly_car_rent": 120},
         {"city": "Dubai",
              "flight_cost": 370,
              "hotel_per_day": 15,
              "weekly_car_rent": 80},
         {"city": "Mumbai",
              "flight_cost": 450,
              "hotel_per_day": 10,
              "weekly_car_rent": 70}]
def vacation_cost(flight_cost, hotel_per_day, weekly_car_rent, days):
    return flight_cost + days * hotel_per_day + weekly_car_rent * math.ceil(days / 7)
def minimum_vacation_cost(num_of_days, cities):
    min_cost = math.inf

    for city in cities:
        cost = vacation_cost(city["flight_cost"], city["hotel_per_day"], city["weekly_car_rent"], num_of_days)
        if cost < min_cost:
            min_cost_city = city["city"]
            min_cost = cost
            
    return min_cost, min_cost_city
days = 7
min_cost, city = minimum_vacation_cost(days, cities)

print("The minimum cost for {} days is ${}, to {}".format(days, min_cost, city))
The minimum cost for 7 days is $540, to Paris