Added explanations
This commit is contained in:
parent
d37c96daea
commit
0b08a68281
75
poc_hugo.py
75
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)
|
||||
|
|
Loading…
Reference in New Issue