@classmethod
def _answer_cycle(cls, prompt, l_pr_question, answers, l_pr_answer, prev_action, l_prev_msg, l_next_msg):
    'Answer cycle'
    while True:
        CLIOutput.empty_line(1)
        (a_type, a_content) = CLIUserInput.get_answer(prompt)
        if (a_type == CLIUserInput.TYPE_ANSWER):
            if (a_content in answers):
                CLIOutput.empty_line(1)
                l_pr_answer()
                CLIOutput.empty_line(1)
                CLIOutput.simple('Correct!')
                return True
            else:
                CLIOutput.warning('Incorrect, try again.')
        elif (a_type == CLIUserInput.TYPE_COMMAND):
            if (a_content in cls.CMD_WORDS_ALIASES):
                cls.new_words(False)
                CLIOutput.empty_line(1)
                l_pr_question()
            elif (a_content in cls.CMD_SKIP_ALIASES):
                return True
            elif (a_content in cls.CMD_NEXT_ALIASES):
                l_next_msg()
                return False
            elif (a_content in cls.CMD_PREV_ALIASES):
                l_prev_msg()
                cls._next_action = prev_action
                return False
            elif (a_content in cls.CMD_EXIT_ALIASES):
                cls._next_action = cls.ACTION_EXIT
                return False
            elif (a_content in cls.CMD_HELP_ALIASES):
                cls.help_cmd_in_task()
            else:
                CLIOutput.warning('Invalid command.')
        else:
            raise ValueError('Unknown answer type.')
Answer cycle
@classmethod
def _answer_cycle(cls, prompt, l_pr_question, answers, l_pr_answer, prev_action, l_prev_msg, l_next_msg):
    
    while True:
        CLIOutput.empty_line(1)
        (a_type, a_content) = CLIUserInput.get_answer(prompt)
        if (a_type == CLIUserInput.TYPE_ANSWER):
            if (a_content in answers):
                CLIOutput.empty_line(1)
                l_pr_answer()
                CLIOutput.empty_line(1)
                CLIOutput.simple('Correct!')
                return True
            else:
                CLIOutput.warning('Incorrect, try again.')
        elif (a_type == CLIUserInput.TYPE_COMMAND):
            if (a_content in cls.CMD_WORDS_ALIASES):
                cls.new_words(False)
                CLIOutput.empty_line(1)
                l_pr_question()
            elif (a_content in cls.CMD_SKIP_ALIASES):
                return True
            elif (a_content in cls.CMD_NEXT_ALIASES):
                l_next_msg()
                return False
            elif (a_content in cls.CMD_PREV_ALIASES):
                l_prev_msg()
                cls._next_action = prev_action
                return False
            elif (a_content in cls.CMD_EXIT_ALIASES):
                cls._next_action = cls.ACTION_EXIT
                return False
            elif (a_content in cls.CMD_HELP_ALIASES):
                cls.help_cmd_in_task()
            else:
                CLIOutput.warning('Invalid command.')
        else:
            raise ValueError('Unknown answer type.')