input: Write a function to calculate the maximum, minimum, and average values from a given sequence of numbers. The function should return these values in the order of maximum, minimum, and average. If the input sequence is empty, the function should return None for all three metrics.
  def calculate_metrics(list):
      if not list:
          return None, None, None
      
      maximum = max(list)
      minimum = min(list)
      total = sum(list)
      average = total / len(list)
      
      return maximum, minimum, average
  
  assert calculate_metrics([3, 4, 5, 6, 21, 8]) == (21, 3, 8.166666666666666)
  assert calculate_metrics([]) == (None, None, None)
output: def calculate_metrics(list):
      if not list:
          return None, None, None
      
      maximum = max(list)
      minimum = min(list)
      total = sum(list)
      average = total / len(list)
      
      return maximum, minimum, average