input: Write a function to encode a given sentence into Morse code using the provided dictionary. The function should handle both upper and lower case letters and should return the Morse code representation of the input message. Each letter in the Morse code should be separated by a space.
  assert encode("Hello world")==".... . .-.. .-.. ---  .-- --- .-. .-.. -.."
  assert encode("Python programming")==".--. -.-- - .... --- -." " ".--. .-. --- --. .-. .- -- -- .. -. --."
  assert encode("123")==".---- ..--- ...--"
  assert encode("")==""
output: def encode(message):
      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': '--..', '1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....',
          '6': '-....', '7': '--...', '8': '---..', '9': '----.', '0': '-----', ' ': ' '
      }
      return ' '.join(morse_code[char.upper()] for char in message)