input: Write a function to create a simple chatbot using Python and state diagrams, which initializes the state, handles user input, and transitions between states based on the user's response. The function should return the full conversation history after the chatbot reaches a terminal state. If the user input is not recognized, the chatbot should ask the user to try again.
  
  assert chatbot_conversation() == ['Hello! How can I help you?', 'I need some advice', 'Sure, what kind of advice do you need?', 'Career advice', 'It is always a good idea to research the field you are interested in and creating a plan to learn the skills that are required. Make sure to contact professionals in the field to understand their experience.']
  assert chatbot_conversation() == ['Hello! How can I help you?', 'Can you answer my questions?', 'Yes, I'll do my best! What do you want to know?', 'Where can I find good tutorials', 'You can find tutorials online or join coding communities to get help from experienced coders. StackOverflow and Cod Academy are great resources.']
  assert chatbot_conversation() == ['Hello! How can I help you?', 'I need some advice', 'Sure, what kind of advice do you need?', 'Health advice', 'Focus on eating healthy and staying active. Make sure to consult a medical professional if you have any concerns.']
  assert chatbot_conversation() == ['Hello! How can I help you?', 'Can you answer my questions?', 'Yes, I'll do my best! What do you want to know?', 'Why is coding so hard', 'Coding can be challenging, especially at first. Just remember that with practice, patience and problem solving skills you can overcome the obstacles.']
output: def chatbot_conversation():
      conversation = []
      state = "start"
      
      while True:
          if state == "start":
              conversation.append("Hello! How can I help you?")
              state = "greeting"
          elif state == "greeting":
              user_input = input()
              if user_input.lower() in ["i need some advice", "can you answer my questions?"]:
                  if user_input.lower() == "i need some advice":
                      conversation.append("I need some advice")
                      conversation.append("Sure, what kind of advice do you need?")
                      state = "advice"
                  else:
                      conversation.append("Can you answer my questions?")
                      conversation.append("Yes, I'll do my best! What do you want to know?")
                      state = "question"
              else:
                  conversation.append("I'm sorry, I didn't understand that. Please try again.")
          elif state == "advice":
              user_input = input()
              if user_input.lower() == "career advice":
                  conversation.append("Career advice")
                  conversation.append("It is always a good idea to research the field you are interested in and creating a plan to learn the skills that are required. Make sure to contact professionals in the field to understand their experience.")
                  break
              elif user_input.lower() == "health advice":
                  conversation.append("Health advice")
                  conversation.append("Focus on eating healthy and staying active. Make sure to consult a medical professional if you have any concerns.")
                  break
              else:
                  conversation.append("I'm sorry, I didn't understand that. Please try again.")
          elif state == "question":
              user_input = input()
              if user_input.lower() == "where can i find good tutorials":
                  conversation.append("Where can I find good tutorials")
                  conversation.append("You can find tutorials online or join coding communities to get help from experienced coders. StackOverflow and Cod Academy are great resources.")
                  break
              elif user_input.lower() == "why is coding so hard":
                  conversation.append("Why is coding so hard")
                  conversation.append("Coding can be challenging, especially at first. Just remember that with practice, patience and problem solving skills you can overcome the obstacles.")
                  break
              else:
                  conversation.append("I'm sorry, I didn't understand that. Please try again.")
      
      return conversation