input: Write a function to find the maximum number from a given list. Return the maximum number. If the list is empty, return None.
  
  def max_num(nums):
      if not nums:
          return None
      max_value = nums[0]
      for num in nums[1:]:
          if num > max_value:
              max_value = num
      return max_value
  
  assert max_num([5, 4, 2, 7, 12])==12
  assert max_num([-1, -3, -5])==-1
  assert max_num([10])==10
  assert max_num([])==None
output: def max_num(nums):
      if not nums:
          return None
      max_value = nums[0]
      for num in nums[1:]:
          if num > max_value:
              max_value = num
      return max_value