input: Write a function that encrypts a message using the Caesar cipher by shifting each character by a specified number of positions in the ASCII table. If the shifted character exceeds the printable ASCII range (32-126), wrap around to the beginning of the printable range. If the character falls below the printable range, wrap around to the end of the printable range.
  
  def caesar_encrypt(message, shift):
      encrypted_message = ""
      for c in message:
          encrypted_c = ord(c) + shift
          if encrypted_c > 126:
              encrypted_c -= 94
          encrypted_message += chr(encrypted_c)
      return encrypted_message
  
  assert caesar_encrypt("Hello, World!", 3) == "&K]ocnqu\"hVup!'"
  assert caesar_encrypt("Python", 5) == "U{]ts]"
  assert caesar_encrypt("Encrypt this!", 7) == "Luv{hy|%yp{p&"
  assert caesar_encrypt("ASCII", 1) == "\"!BTJD"
  assert caesar_encrypt("Wrap around", 150) == "#\\ p$u[hkjy&"
output: def caesar_encrypt(message, shift):
      encrypted_message = ""
      for c in message:
          encrypted_c = ord(c) + shift
          while encrypted_c > 126:
              encrypted_c -= 95
          while encrypted_c < 32:
              encrypted_c += 95
          encrypted_message += chr(encrypted_c)
      return encrypted_message