input: def caesar_encrypt(message: str, shift: int) -> str:
      """Encrypts the given message using a Caesar cipher with the specified shift.
      The Caesar cipher shifts each character in the message by a fixed number of positions down the ASCII table.
      If the shift causes the character to go past '~' (126), it wraps around considering only printable characters (32 to 126).
      
      >>> caesar_encrypt("hello", 3)
      'khoor'
      >>> caesar_encrypt("ABC", 1)
      'BCD'
      >>> caesar_encrypt("xyz~", 4)
      '|}~ '
      """
output:     encrypted_message = ""
      for char in message:
          if 32 <= ord(char) <= 126:
              new_char = chr((ord(char) - 32 + shift) % 95 + 32)
              encrypted_message += new_char
          else:
              encrypted_message += char
      return encrypted_message