input: Write a function to find the smallest number in a given list. If the list is empty, return None. If the list has only one element, return that element.
  
  def smallestNumber(nums):
      if not nums:
          return None
      smallest = nums[0]
      for num in nums[1:]:
          if num < smallest:
              smallest = num
      return smallest
  
  assert smallestNumber([4, 5, 6, 7, 8])==4
  assert smallestNumber([10, 2, 3, 4, 0])==0
  assert smallestNumber([-1, -2, -3, -4, -5])==-5
  assert smallestNumber([])==None
  assert smallestNumber([9])==9
output: def smallestNumber(nums):
      if not nums:
          return None
      smallest = nums[0]
      for num in nums[1:]:
          if num < smallest:
              smallest = num
      return smallest