input: Write a function to find the maximum number in a list. The function should iterate through the list and update the maximum number encountered. If the list is empty, the function should return None.
  
  def max_num(list):
      if not list:
          return None
      
      max_num = list[0]
      
      for num in list:
          if num > max_num:
              max_num = num
      
      return max_num
  
  assert max_num([9, 2, 5, 6, 4, 1])==9
  assert max_num([1])==1
  assert max_num([-2, -5, -1])==-1
  assert max_num([])==None
  assert max_num([10, 20, 30])==30
output: def max_num(list):
      if not list:
          return None
      
      max_num = list[0]
      
      for num in list:
          if num > max_num:
              max_num = num
      
      return max_num