Updated the JSON generator to output JSON that the main program can read.

This commit is contained in:
2020-07-26 00:40:36 -05:00
parent fac2b2d625
commit fc1bec1478
+18 -8
View File
@@ -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)