diff --git a/poc_hugo.py b/poc_hugo.py index 3ce0679..b69a1e0 100644 --- a/poc_hugo.py +++ b/poc_hugo.py @@ -36,64 +36,34 @@ def _print_question(question_asked): c.print(answer) -def _has_multiple_answer(question_asked): - """ - :param question_asked: - :return Boolean: - """ - answers = str(question_asked["ANSWER"]).split() - try: - if answers[1]: - return True - except: - return False - - -def _one_digit_answer(question_asked): - """ - :param question_asked: - :return Boolean: - """ - result = input("What's your answer? ") - if result == question_asked["ANSWER"]: - return True - else: - return False - - -def _multiple_digit_answer(question_asked): - """ - :param question_asked: - :return Boolean: - """ - answers = input("What's your answer? ").split(" ") - right_answers = str(question_asked["ANSWER"]).split(" ") - if len(answers) == 0: - return False - for answer in answers: - try: - test = right_answers.index(answer) - right_answers.pop(test) - except: - return False - if len(right_answers) == 0: - return True - else: - return False - +def _print_explication(question): + c = Console() + actual_question = "# {}".format(question["EXPLICATION"]) + actual_question = Markdown(actual_question) + c.print(actual_question) def _test_question(question_asked): """ :param question_asked: :return Boolean: """ - if _has_multiple_answer(question_asked): - return _multiple_digit_answer(question_asked) + answers = input("What is your answer? ").split() + right_answers = str(question_asked["ANSWER"]).split() + if len(answers) == 0: + return False, question_asked["ANSWER"] + for answer in answers: + try: + test = right_answers.index(answer) + right_answers.pop(test) + except ValueError or IndexError: + return False, question_asked["ANSWER"] + if len(right_answers) == 0: + return True, question_asked["ANSWER"] else: - return _one_digit_answer(question_asked) + return False, question_asked["ANSWER"] -def _print_success(result): +def _print_success(result, answers): """ :param result: """ @@ -101,7 +71,7 @@ def _print_success(result): if result: msg = "## Good job!" else: - msg = "## that's not the right answer..." + msg = "## that's not the right answer... The answer(s) was(were) ({})".format(answers) md = Markdown(msg) c.print(md) @@ -123,7 +93,8 @@ if __name__ == "__main__": random.shuffle(dictionary) for question in dictionary: _print_question(question) - result = _test_question(question) + result, answers = _test_question(question) counter.append(result) - _print_success(result) + _print_explication(question) + _print_success(result, answers) print_stats(counter)