input: Write a function to calculate the total cost of a shopping cart. The program should consider the item prices, quantity, shipping cost, and any applicable taxes. If the shopping cart is empty, return 0.
  assert calculate_total_cost(
      [ 
          {"name": "widget", "price": 10, "quantity": 5 },
          {"name": "thingy", "price": 7, "quantity": 3 },
          {"name": "doodad", "price": 5, "quantity": 2 },
      ], 
      7.50, 
      0.095
  ) == 107.1
  assert calculate_total_cost(
      [], 
      0.00, 
      0.00
  ) == 0
  assert calculate_total_cost(
      [ 
          {"name": "widget", "price": 10, "quantity": 1 },
      ], 
      5.00, 
      0.08
  ) == 15.8
output: def calculate_total_cost(cart, shipping_cost, tax_rate):
      if not cart:
          return 0
      subtotal = sum(item['price'] * item['quantity'] for item in cart)
      total = subtotal + shipping_cost
      total += total * tax_rate
      return total