def floor_function(num): """ Generates floor and ceiling function with random floats and asks for the answer. :param num: number of questions. :return: questions in JSON format. """ questions = [] for i in range(num): questions.append(functions.floor_function()) return jsonify(js.json_maker('floor-function', questions))
def set_complement(num): """ A function returns question for complement of a generated set. :param num: number of questions. :param par: type of items in the set based on documentation. :return: questions in JSON format. """ questions = [] for i in range(num): questions.append(functions.set_complement()) return jsonify(js.json_maker('set-complement', questions))
def conditional_probability(num): """ Questions for conditional probability. :param num: number of questions.(int) :return: question, answer, answer choices and topic.(JSON) """ questions = [] for i in range(num): questions.append(functions.conditional_probability_1()) return jsonify(js.json_maker('conditional-probability', questions))
def probability_union(num): """ Questions for union of events. :param num: number of questions.(int) :return: question, answer, answer choices and topic.(JSON) """ questions = [] for i in range(num): questions.append(functions.probability_union()) return jsonify(js.json_maker('probability-union', questions))
def bayes_theorem(num): """ Questions for Bayes theorem. :param num: number of questions.(int) :return: question, answer, answer choices and topic.(JSON) """ questions = [] for i in range(num): questions.append(functions.bayes_theorem()) return jsonify(js.json_maker('bayes-theorem', questions))
def function_definition(num): """ Generates questions for determining if a set is function or not and if so what kind. :param num: number of questions. :return: questions in JSON format. """ questions = [] for i in range(num): questions.append(functions.general_function()) return jsonify(js.json_maker('function-definition', questions))
def inverse_function(num): """ Generates a random function and asks for inverse of it. :param num: number of questions. :return: questions in JSON format. """ questions = [] for i in range(num): questions.append(functions.inverse_function()) return jsonify(js.json_maker('inverse-function', questions))
def question_list_maker(num, par, operation): """ Generates a list of questions based of requested number for set operations. :param num: number of requested questions. :param par: parameters that determine items in set. :param operation: type of operation on sets. :return: a list containing questions. """ output = [] for i in range(num): output.append(functions.choices(par, operation)) return js.json_maker(operation, output)
def transitive_closure(num): """ Questions for transitive closure. :param num: number of questions.(int) :return: question, answer, answer choices and topic.(JSON) """ questions = [] for i in range(num): questions.append(functions.transitive_closure()) return jsonify(js.json_maker('transitive-closure', questions))
def symmetric_closure(num): """ Questions for symmetric closure. :param num: number of questions.(int) :return: question, answer, answer choices and topic.(JSON) """ questions = [] for i in range(num): questions.append(functions.symmetric_closure()) return jsonify(js.json_maker('symmetric-closure', questions))
def irreflexive_relation(num): """ Questions for irreflexive relation. :param num: number of questions.(int) :return: question, answer, answer choices and topic.(JSON) """ questions = [] for i in range(num): questions.append(functions.irreflexive_relation()) return jsonify(js.json_maker('irreflexive-relation', questions))
def antisymmetric_relation(num): """ Questions for antisymmetric relation. :param num: number of questions.(int) :return: question, answer, answer choices and topic.(JSON) """ questions = [] for i in range(num): questions.append(functions.antisymmetric_relation()) return jsonify(js.json_maker('antisymmetric-relation', questions))
def permutation(num): """ Questions for permutation. :param num: number of questions.(int) :return: question, answer, answer choices and topic.(JSON) """ questions = [] for i in range(num): question_list = [functions.permutation_1(), functions.permutation_2()] questions.append(random.choice(question_list)) return jsonify(js.json_maker('permutation', questions))
def event_probability(num): """ Questions for probability of an event. :param num: number of questions.(int) :return: question, answer, answer choices and topic.(JSON) """ questions = [] for i in range(num): question_list = [ functions.event_probability_1(), functions.event_probability_2(), functions.event_probability_3() ] questions.append(random.choice(question_list)) return jsonify(js.json_maker('event-probability', questions))
def multiplication_rule(num): """ Questions for multiplication. :param num: number of questions.(int) :return: question, answer, answer choices and topic.(JSON) """ questions = [] for i in range(num): question_list = [ functions.multiplication_rule_2(), functions.multiplication_rule_3(), functions.multiplication_rule_4(), functions.multiplication_rule_1() ] questions.append(random.choice(question_list)) return jsonify(js.json_maker('multiplication-rule', questions))
def relations(num): questions = [] for i in range(num): question_list = [ functions.relations_1(), functions.relations_2(), functions.relations_3(), functions.relations_4(), functions.relations_5(), functions.relations_6(), functions.relations_7(), functions.relations_8(), functions.relations_9(), functions.relations_10() ] questions.append(random.choice(question_list)) return jsonify(js.json_maker('Relations', questions))
def random_qa(num): """ Generates random questions from the topics of set operations. :param num: number of questions. :return: questions and multiple choice answer options in JSON foramt. """ output = [] # list of available topics topics = [ 'set-union', 'set-intersection', 'set-difference', 'set-symmetric-difference', 'set-partition', 'cartesian-product' ] # generates asked number of questions and add them to the list(output) out of topics for i in range(num): topic = random.choice(topics) output.append(functions.choices('11', topic)) return jsonify(js.json_maker('random', output))
def conditional_probability(num): questions = [] for i in range(num): questions.append(functions.conditional_probability_1()) return jsonify(js.json_maker('conditional probability', questions))
def probability_complement(num): questions = [] for i in range(num): questions.append(functions.probability_complement()) return jsonify(js.json_maker('probability complement', questions))
def bayes_theorem(num): questions = [] for i in range(num): questions.append(functions.bayes_theorem()) return jsonify(js.json_maker('bayes theorem', questions))
def relations_6(num): questions = [] for i in range(num): questions.append(functions.relations_6()) return jsonify(js.json_maker('relations', questions))
def probability_union(num): questions = [] for i in range(num): questions.append(functions.probability_union()) return jsonify(js.json_maker('probability union', questions))
def venn_diagram(num): questions = [] for i in range(num): questions.append(functions.intersection_venn()) return jsonify(js.json_maker('venn-diagram', questions))
def equation(num): questions = [] for i in range(num): questions.append(functions.equation()) return jsonify(js.json_maker('function', questions))