code: def randbetween(lower: int, upper: int) -> int:
      
      if not isinstance(lower, int) or not isinstance(upper, int):
          raise TypeError('lower and upper must be integers')
      if lower < 0 or upper <= 0:
          raise ValueError('lower and upper must be greater than zero')
  
      return randbelow(upper - lower + 1) + lower
docs: Return a random int in the range [lower, upper].
  
      Raises ValueError if any is lower than 0, and TypeError if any is not an
      integer.