input: Write a function to generate a Markov chain from a given text input and then generate a random sentence based on that Markov chain. The function should take a string of text as an input and return a string of generated text.
  
  def generateMarkov(text):
    words = text.split(' ')
    markovChain = {}
  
    for i in range(len(words) - 2):
      current = words[i]
      next = words[i + 1]
      if current in markovChain:
        if next in markovChain[current]:
          markovChain[current][next] += 1
        else:
          markovChain[current][next] = 1
      else:
        markovChain[current] = {next: 1}
  
    generatedText = ""
    current = random.choice(list(markovChain))
    generatedText += current
  
    for i in range(100):
      choices = markovChain[current]
      choices = [
        key for key, value in choices.items()
        for i in range(value)
      ]
      try:
        current = random.choice(choices)
        generatedText += " " + current
      except:
        break
  
    return generatedText
  
  assert generateMarkov('Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, `and what is the use of a book,' thought Alice `without pictures or conversation?')==True
  assert generateMarkov('The quick brown fox jumps over the lazy dog')==True
  assert generateMarkov('')==False
  assert generateMarkov('To be or not to be, that is the question')==True
  assert generateMarkov('Python is a great programming language')==True
output: import random
  
  def generateMarkov(text):
      words = text.split(' ')
      markovChain = {}
  
      for i in range(len(words) - 2):
          current = words[i]
          next = words[i + 1]
          if current in markovChain:
              if next in markovChain[current]:
                  markovChain[current][next] += 1
              else:
                  markovChain[current][next] = 1
          else:
              markovChain[current] = {next: 1}
  
      generatedText = ""
      current = random.choice(list(markovChain))
      generatedText += current
  
      for i in range(100):
          if current not in markovChain:
              break
          choices = markovChain[current]
          choices = [
              key for key, value in choices.items()
              for i in range(value)
          ]
          try:
              current = random.choice(choices)
              generatedText += " " + current
          except:
              break
  
      return generatedText