input: Write a function to find the smallest number in a list of numbers. The function should iterate through the list and update the smallest number found. If the list is empty, return None.
  
  assert find_smallest_number([5, 4, 12, 17, 9]) == 4
  assert find_smallest_number([3, 6, 2, 8, 1]) == 1
  assert find_smallest_number([7]) == 7
  assert find_smallest_number([]) == None
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