Hi Richard,
thanks for the advice.
Using debug and custumize flags shows the following code where I used a simple print as a testcase and the answer was one node named 'F':
Debug: source code from all test runs
Run 1
import json student_answer = """{\"edgeGeometry\":[],\"nodeGeometry\":[[134,81]],\"nodes\":[[\"F\",false]],\"edges\":[]}""" SEPARATOR = "#<ab@17943918#@>#" error_count = 0 def error(s): global error_count print(s) error_count += 1 try: graph_rep = json.loads(student_answer) node_id_to_name_map = {} for i, node in enumerate(graph_rep['nodes']): node_id_to_name_map[i] = node[0] if node[0] != '' else ('#' + str(i)) #print("Nodes:", nodes) BTW: DON'T uncomment this - it is an error in the default template code edges = graph_rep['edges'] #print("Edges:", edges) graph = {} for node_id, node_name in sorted(node_id_to_name_map.items()): edges = [] for id0, id1, edge_label in graph_rep['edges']: if id0 == node_id: edges.append((node_id_to_name_map[id1], edge_label)) elif id1 == node_id: edges.append((node_id_to_name_map[id0], edge_label)) edges.sort() graph[node_name] = edges except json.JSONDecodeError as e: raise Exception("Oops. Illegal graph received (exception {}). Please report (unless you did something silly yourself)".format(e)) print('foobar')
When I copy+paste this in PyCharm it runs fine and prints "foobar", what I entered in the 'expected output' field.
But all I get is:
An unexpected error occurred. The sandbox may be down. Try again shortly.
The preview tech info is:
And the question is just to create one node named F.
Is there a step-by-step example of how to create such a simple graph question with all the right settings?
Regards,
Jan