input: Write a function to encrypt a message using a Caesar cipher. The function should take two parameters: a message and a shift value. The shift value will determine how many positions each character in the message should be shifted in the ASCII table. If shifting a character goes beyond the printable ASCII range (32 to 126), it should wrap around. The function should return the encrypted message.
  assert caesar_encrypt("Hello, World!", 3) == "Khoor/#Zruog$"
  assert caesar_encrypt("Python Programming", 5) == "%uet|s%Uwtlrfltnsl"
  assert caesar_encrypt("Caesar Cipher", 7) == "Jhlzhy'Jpwoly"
  assert caesar_encrypt("", 5) == ""
  assert caesar_encrypt("Special Characters: !@#$%^&*()", 10) == "]_Xkvnwo#Mxubsbqw|:)#*@#$('#(+)_"
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