input: Write a function to encrypt a message using a Caesar cipher. The function should take two parameters, the message (a string) and the shift (an integer), and return the encrypted message. The Caesar cipher shifts each character in the message by the shift value. If the shifted character exceeds ASCII value 126, it wraps around to the beginning of the ASCII printable characters (32 through 126). The function should handle both uppercase and lowercase English letters and preserve other characters (digits, punctuation, spaces) without any changes.
  assert caesar_encrypt("Hello, World!", 3) == "Khoor/#Zruog$!"
  assert caesar_encrypt("Python", 5) == "U{yts}t"
  assert caesar_encrypt("Testing 123...", 10) == "~oc}~*~sc)***..."
  assert caesar_encrypt("No change", 0) == "No change"
  assert caesar_encrypt("", 5) == ""
output: def caesar_encrypt(message, shift):
      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