Changed the JSON generator to generate JSON that includes the correct answer for the expression.

This commit is contained in:
2020-04-13 00:05:17 -05:00
parent 1265f8ac3e
commit d1231b062f
6 changed files with 43 additions and 20 deletions
-17
View File
@@ -1,17 +0,0 @@
{
"expression": "i + 2 + n",
"variables": {
"n1": {
"name": "n1",
"type": "Unknown",
"starting_point": 0,
"ending_point": 0
},
"i1": {
"name": "i1",
"type": "Unknown",
"starting_point": 0,
"ending_point": 0
}
}
}
+3 -1
View File
@@ -1,10 +1,12 @@
class Expression:
expression = ""
correct_answer = 0
variables = []
def __init__(self, expression_string, variables):
def __init__(self, expression_string, variables, correct):
self.expression = expression_string
self.variables = variables
self.correct_answer = correct
class Variable:
VARIABLE_TYPES = {
+7 -2
View File
@@ -66,6 +66,11 @@ def transform(object):
raise TypeError("Only Books and Index will be JSON serialized!")
exp = input("Enter the expression the student will use: ")
correct_answer = input("Enter the correct anwser for the expression: ")
try:
correct_answer = float(correct_answer)
except ValueError:
print("The anwser must be numeric! Will not be included in output file.")
tokens = tokenizer.get_tokens_from_expression_string(exp)
for t in tokens:
@@ -92,5 +97,5 @@ while True:
print("Invalid selection %s." %(response))
continue
with open("data.json", "w", encoding="utf-8") as f:
json.dump(expression.Expression(exp, variables), f, default=transform, indent = 4)
with open("expression.json", "w", encoding="utf-8") as f:
json.dump(expression.Expression(exp, variables, correct_answer), f, default=transform, indent = 4)