input: Write a Python function to find the maximum number from a list of non-negative integers. The function should account for the possibility of an empty list and return None in that case.
  
  def find_max(list):
      if not list:
          return None
      max_num = list[0]
      for number in list:
          if number > max_num:
              max_num = number
      return max_num
  
  assert find_max([1, 3, 12, 5, 8, 10]) == 12
  assert find_max([4, 7, 1, 2, 9]) == 9
  assert find_max([0]) == 0
  assert find_max([]) == None
output: def find_max(list):
      if not list:
          return None
      max_num = list[0]
      for number in list:
          if number > max_num:
              max_num = number
      return max_num