input: Write a function to convert a given English sentence into Morse code. The function should take a string as input and return a Morse code representation of that sentence. To do this, it uses the predefined dictionary MORSE_CODE provided. If the function is called with the input "Hello world", it should return ".... . .-.. .-.. ---  .-- --- .-. .-.. -..".
  
  assert encode("Hello world") == ".... . .-.. .-.. ---  .-- --- .-. .-.. -.."
  assert encode("Python programming") == ".--. -.-- - .... --- -.  .--. .-. --- --. .-. .- -- -- .. -. --."
  assert encode("12345") == ".---- ..--- ...-- ....- ....."
  assert encode("") == ""
  assert encode("ABC abc") == ".- -... -.-.  .- -... -.-."
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': '--..', '1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....',
          '6': '-....', '7': '--...', '8': '---..', '9': '----.', '0': '-----', ' ': ' '
      }
      return ' '.join(MORSE_CODE[char.upper()] for char in sentence)