input: Write a function to calculate the maximum, minimum, and mean number of elements in a given string. The function should return a tuple containing the maximum element, the minimum element, and the mean of the string's elements. If the given string is empty, the function should return (None, None, None).
  
  def get_stats_for_string(string):
      if not string:
          return (None, None, None)
      num_elements = len(string)
      max_element = max(string)
      min_element = min(string)
      mean_element = sum(string) / num_elements
      return (max_element, min_element, mean_element)
  
  assert get_stats_for_string("abcdef") == ('f', 'a', 98.0)
  assert get_stats_for_string("hello") == ('o', 'e', 108.4)
  assert get_stats_for_string("") == (None, None, None)
  assert get_stats_for_string("12345") == ('5', '1', 51.0)
output: def get_stats_for_string(string):
      if not string:
          return (None, None, None)
      num_elements = len(string)
      max_element = max(string)
      min_element = min(string)
      mean_element = sum(map(ord, string)) / num_elements
      return (max_element, min_element, mean_element)