From d29fed213caccc7bf2f66ed7a11b94b4bbcac3d1 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Thu, 6 Oct 2016 14:40:16 +0200 Subject: Python: add support for auxiliary code (like for Prolog) --- python/problems/lists_and_for/perfect_numbers/common.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'python/problems/lists_and_for/perfect_numbers/common.py') diff --git a/python/problems/lists_and_for/perfect_numbers/common.py b/python/problems/lists_and_for/perfect_numbers/common.py index 1369188..64a4348 100644 --- a/python/problems/lists_and_for/perfect_numbers/common.py +++ b/python/problems/lists_and_for/perfect_numbers/common.py @@ -30,7 +30,7 @@ hint_type = { 'summing': Hint('summing'), } -def test(python, code): +def test(python, code, aux_code=''): test_in = [ (None, '8\n'), (None, '6\n'), @@ -48,7 +48,7 @@ def test(python, code): 22] # List of outputs: (expression result, stdout, stderr, exception). - answers = python(code=code, inputs=test_in, timeout=1.0) + answers = python(code=aux_code+code, inputs=test_in, timeout=1.0) outputs = [ans[1] for ans in answers] n_correct, tin = 0, None @@ -67,10 +67,10 @@ def test(python, code): hints.append({'id': 'final_hint'}) return passed, hints -def hint(python, code): +def hint(python, code, aux_code=''): tokens = get_tokens(code) # run one test first to see if there are any exceptions - answer = python(code=code, inputs=[(None, '8\n')], timeout=1.0) + answer = python(code=aux_code+code, inputs=[(None, '8\n')], timeout=1.0) exc = get_exception_desc(answer[0][3]) if exc: if 'ZeroDivisionError' in answer[0][3]: -- cgit v1.2.1