input: Write a function to find the smallest number in a list of numbers. If the list is empty, return None.
  def find_smallest_number(numbers):
      if not numbers:
          return None
      smallest = numbers[0]
      for num in numbers:
          if num < smallest:
              smallest = num
      return smallest
  
  assert find_smallest_number([5, 4, 12, 17, 9]) == 4
  assert find_smallest_number([10, 8, 9, 7, 2]) == 2
  assert find_smallest_number([1]) == 1
  assert find_smallest_number([]) == None
  assert find_smallest_number([-3, -1, -2, 0]) == -3
output: def find_smallest_number(numbers):
      if not numbers:
          return None
      smallest = numbers[0]
      for num in numbers:
          if num < smallest:
              smallest = num
      return smallest