input: Write a function to convert a given sentence into Morse code. If the given sentence is empty, return an empty string.
  assert encode("Hello world") == ".... . .-.. .-.. ---  .-- --- .-. .-.. -.."
  assert encode("") == ""
  assert encode("SOS") == "... --- ..."
  assert encode("Python 3.8") == ".--. -.-- - .... --- -.  ...-- ---.. "
  assert encode("What's up?") == ".-- .... .- - .----. ...  ..- .--. ..--.."
output: def encode(sentence):
      morse_code = {
          'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.', 'F': '..-.', 'G': '--.', 'H': '....',
          'I': '..', 'J': '.---', 'K': '-.-', 'L': '.-..', 'M': '--', 'N': '-.', 'O': '---', 'P': '.--.',
          'Q': '--.-', 'R': '.-.', 'S': '...', 'T': '-', 'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-',
          'Y': '-.--', 'Z': '--..', '0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-',
          '5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.', ' ': ' ', '.': '.-.-.-',
          ',': '--..--', '?': '..--..', "'": '.----.', '!': '-.-.--', '/': '-..-.', '(': '-.--.', ')': '-.--.-',
          '&': '.-...', ':': '---...', ';': '-.-.-.', '=': '-...-', '+': '.-.-.', '-': '-....-', '_': '..--.-',
          '"': '.-..-.', '$': '...-..-', '@': '.--.-.', ' ': ' '
      }
      
      sentence = sentence.upper()
      morse_sentence = ' '.join(morse_code.get(char, '') for char in sentence)
      return morse_sentence