input: Write a function to find and return the maximum number in a given list. The function should iterate through the list and update the maximum number whenever a larger number is found. 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, -2, -3, -4, -5]) == -1
  assert max_num([100, 200, 300, 400]) == 400
  assert max_num([7]) == 7
  assert max_num([]) == None
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