input: Write a function to calculate the dot product of two input lists. If the two lists are of different lengths, return None. If the two lists are empty, return 0.
  assert dot_product([1, 2], [3, 4])==11
  assert dot_product([], [])==0
  assert dot_product([1, 2], [3, 4, 5])==None
  assert dot_product([5, 3, 8], [1, 4, 2])==35
output: def dot_product(list1, list2):
      if len(list1) != len(list2):
          return None
      if len(list1) == 0:
          return 0
      return sum(x * y for x, y in zip(list1, list2))