From fc1bec1478d995be671845628b8eef601e90d644 Mon Sep 17 00:00:00 2001 From: Garritt McCune Date: Sun, 26 Jul 2020 00:40:36 -0500 Subject: [PATCH] Updated the JSON generator to output JSON that the main program can read. --- json_generator/expression.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/json_generator/expression.py b/json_generator/expression.py index 4188319..42eeafd 100644 --- a/json_generator/expression.py +++ b/json_generator/expression.py @@ -1,8 +1,10 @@ class Expression: - expression = "" + # This object represents all the needed initial data about an expression that is to be parsed. + + expression = "" # The formula to parse as a string. # correct_response = 0 - wrong_response = 0 - variables = [] + wrong_response = 0 # The incorrect response that was entered by the student. + variables = [] # A list of Variable. def __init__(self, expression_string, variables, wrong_response): self.expression = expression_string @@ -10,16 +12,21 @@ class Expression: self.wrong_response = wrong_response class Variable: + # This object represents a variable that is found in the formula. It encodes the name, the type of variable + # and the starting point from which to look for mutations in the variable's value. + name = "" type = "" starting_point = 0 - ending_point = 0 +# ending_point = 0 VARIABLE_TYPES = { "i" : "Interest", "I" : "Interest", "n" : "Time", - "N" : "Time" + "N" : "Time", + "k" : "Installment", + "K" : "Installment" } def __init__(self, name, type, starting_point = 0, ending_point = 0): @@ -30,9 +37,12 @@ class Variable: @staticmethod def get_variable_type(variable_name): - print(variable_name[0]) - if len(variable_name) == 0: - return "Unknown" + # Utilitie function to get the variable's type from it's name. + # For example, a variable with 'i' in its name is an Interest type. + # Returns the variable's type as a string or 'Unknown' otherwise. if not variable_name[0] in Variable.VARIABLE_TYPES: return "Unknown" return Variable.VARIABLE_TYPES[variable_name[0]] + + def __str__(self): + return "Name: %s Type: %s Start: %f" %(self.name, Variable.get_variable_type(self.name), self.starting_point)