#!/usr/bin/python3 import pathlib import csv import random import os from rich.console import Console from rich.markdown import Markdown def loading_file(file_path): # loading file to working with diction_reader = csv.DictReader(open(file_path, "r")) data = [] for e in diction_reader: data.append(e) return data def choice_question(data): choice = random.choice(data) return choice def show_questions(choice): os.system("clear") c = Console() quest = "# {}".format(choice["QUESTION"]) quest = Markdown(quest) c.print(quest) def show_answers(choice): os.system("clear") c = Console() answer = [] for i in choice.keys(): if i.isnumeric(): answer.append(choice[i]) answers = "" for i in answer: if len(i) > 0: answers += "1. {} \n".format(i) answers = Markdown(answers) c.print() c.print(answers) def prompt_answer(choice): reply_answ = input("What is your answer ? ") if reply_answ in choice["ANSWER"]: return True else: return False def print_explication(choice): c = Console() explication = "# {}".format(choice["EXPLICATION"]) explication = Markdown(explication) c.print(explication) def print_success(choice): c = Console() if choice: mess1 = "## Good Answer!" else: mess1 = "## Ho no ... ! that's not the right answer..." mess = Markdown(mess1) c.print(mess) def print_stats(): pass if __name__ == "__main__": file_path = pathlib.Path('./data/list_book1.csv') data = loading_file(file_path) try: while True: result = choice_question(data) show_questions(result) show_answers(result) result1 = prompt_answer(result) print_success(result1) print_explication(result) except KeyboardInterrupt: print("Ciao Ciao")