input: Write a function to calculate the total cost of a shopping cart that considers item prices, quantity, shipping cost, and any applicable taxes. If the shopping cart is empty, return 0.00 as the total cost.
  
  def calculate_total_cost(items, shipping_cost, tax_rate):
      if not items:
          return 0.00
      
      total_cost = 0
      
      for item in items:
          total_cost += item['price'] * item['quantity']
      
      total_cost += total_cost * tax_rate
      total_cost += shipping_cost
      
      return round(total_cost, 2)
  
  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) == 98.76
  
  assert calculate_total_cost([
      {"name": "gadget", "price": 20, "quantity": 1},
      {"name": "tool", "price": 15, "quantity": 2}
  ], 10.00, 0.085) == 57.55
  
  assert calculate_total_cost([], 5.00, 0.08) == 0.00
  assert calculate_total_cost([{"name": "item", "price": 100, "quantity": 1}], 0.00, 0.10) == 110.00
output: def calculate_total_cost(items, shipping_cost, tax_rate):
      if not items:
          return 0.00
      
      total_cost = 0
      
      for item in items:
          total_cost += item['price'] * item['quantity']
      
      total_cost += total_cost * tax_rate
      total_cost += shipping_cost
      
      return round(total_cost, 2)