input: Write a function to calculate the total cost of a shopping cart considering item prices, quantity, shipping cost, and applicable taxes. If there are no items in the cart return 0.0.
  assert shopping_cart_cost([ {"name": "widget", "price": 10, "quantity": 5 }, {"name": "thingy", "price": 7, "quantity": 3 }, {"name": "doodad", "price": 5, "quantity": 2 }], 7.50, 0.095) == 113.2125
  assert shopping_cart_cost([ {"name": "book", "price": 15, "quantity": 2 }, {"name": "notebook", "price": 2.5, "quantity": 10 }, {"name": "pen", "price": 1, "quantity": 10 }], 10.0, 0.1) == 80.5
  assert shopping_cart_cost([], 5.0, 0.07) == 0.0
output: def shopping_cart_cost(items, shipping_cost, tax_rate):
      if not items:
          return 0.0
      total_cost = sum(item["price"] * item["quantity"] for item in items)
      total_cost += shipping_cost
      total_cost *= (1 + tax_rate)
      return total_cost