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 items list is empty, return 0. Consider the tax rate as a decimal value. Calculate without using the built-in tax and shipping functions.
  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) == 102.3225
  assert shopping_cart_cost([{"name": "widget", "price": 10, "quantity": 2}], 5.00, 0.08) == 26.6
  assert shopping_cart_cost([], 7.50, 0.095) == 0
output: def shopping_cart_cost(items, shipping_cost, tax_rate):
      if not items:
          return 0
      total_cost = sum(item['price'] * item['quantity'] for item in items)
      total_cost += shipping_cost
      total_cost += total_cost * tax_rate
      return total_cost