input: Write a function to calculate the dot product of two given lists. The function takes two arguments in the form of two lists and returns the dot product.
  
  def dot_product(list1, list2):
    if len(list1) != len(list2):
        return None
    product = 0
    for i in range(len(list1)):
      product += (list1[i] * list2[i])
    return product
  
  # Test cases
  assert dot_product([1, 2], [3, 4]) == 11
  assert dot_product([], []) == 0
  assert dot_product([1, 2], [0, 0]) == 0
  assert dot_product([1, 2, 3], [4, 5, 6]) == 32
  assert dot_product([1], [1]) == 1
  assert dot_product([1, 2], [3]) == None
  assert dot_product([1, 2], [3, 4, 0]) == None
output: def dot_product(list1, list2):
    if len(list1) != len(list2):
        return None
    product = 0
    for i in range(len(list1)):
      product += (list1[i] * list2[i])
    return product