summaryrefslogtreecommitdiff
path: root/python/problems/introduction
diff options
context:
space:
mode:
authorTimotej Lazar <timotej.lazar@fri.uni-lj.si>2016-10-06 14:40:16 +0200
committerTimotej Lazar <timotej.lazar@fri.uni-lj.si>2016-10-06 14:41:03 +0200
commitd29fed213caccc7bf2f66ed7a11b94b4bbcac3d1 (patch)
tree04f96da9e5a4ea6572db9700907959eae295305b /python/problems/introduction
parent969812724912512740dbf037940a9e6770df19ed (diff)
Python: add support for auxiliary code (like for Prolog)
Diffstat (limited to 'python/problems/introduction')
-rw-r--r--python/problems/introduction/average/common.py8
-rw-r--r--python/problems/introduction/ballistics/common.py8
-rw-r--r--python/problems/introduction/fahrenheit_to_celsius/common.py8
-rw-r--r--python/problems/introduction/fast_fingers/common.py8
-rw-r--r--python/problems/introduction/fast_fingers_2/common.py8
-rw-r--r--python/problems/introduction/leap_year/common.py8
-rw-r--r--python/problems/introduction/pythagorean_theorem/common.py8
7 files changed, 28 insertions, 28 deletions
diff --git a/python/problems/introduction/average/common.py b/python/problems/introduction/average/common.py
index fa152e9..bdf34d7 100644
--- a/python/problems/introduction/average/common.py
+++ b/python/problems/introduction/average/common.py
@@ -30,7 +30,7 @@ hint_type = {
-def test(python, code):
+def test(python, code, aux_code=''):
# List of inputs: (expression to eval, stdin).
test_in = [
(None, '2\n4\n5\n'),
@@ -51,7 +51,7 @@ def test(python, code):
]
# 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 = 0
@@ -73,12 +73,12 @@ def test(python, code):
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
test_in = [(None, '1\n1\n4\n')]
- answer = python(code=code, inputs=test_in, timeout=1.0)
+ answer = python(code=aux_code+code, inputs=test_in, timeout=1.0)
exc = answer[0][3]
exc_hint = get_exception_desc(answer[0][3])
if exc:
diff --git a/python/problems/introduction/ballistics/common.py b/python/problems/introduction/ballistics/common.py
index 326650b..beb1c6c 100644
--- a/python/problems/introduction/ballistics/common.py
+++ b/python/problems/introduction/ballistics/common.py
@@ -36,7 +36,7 @@ def contains_negative(s):
return True
return False
-def test(python, code):
+def test(python, code, aux_code=''):
# List of inputs: (expression to eval, stdin).
test_in = [
(None, '45\n100\n'),
@@ -69,7 +69,7 @@ def test(python, code):
]
# 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 = 0
@@ -90,12 +90,12 @@ 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
test_in = [(None, '5\n10\n')]
- answer = python(code=code, inputs=test_in, timeout=1.0)
+ answer = python(code=aux_code+code, inputs=test_in, timeout=1.0)
exc = answer[0][3]
exc_hint = get_exception_desc(answer[0][3])
if exc:
diff --git a/python/problems/introduction/fahrenheit_to_celsius/common.py b/python/problems/introduction/fahrenheit_to_celsius/common.py
index a62d2ae..3a2095a 100644
--- a/python/problems/introduction/fahrenheit_to_celsius/common.py
+++ b/python/problems/introduction/fahrenheit_to_celsius/common.py
@@ -23,7 +23,7 @@ hint_type = {
'final_hint': Hint('final_hint'),
}
-def test(python, code):
+def test(python, code, aux_code=''):
# List of inputs: (expression to eval, stdin).
test_in = [
(None, '32\n'),
@@ -41,7 +41,7 @@ def test(python, code):
]
# 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 = 0
@@ -61,12 +61,12 @@ 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
test_in = [(None, '212\n')]
- answer = python(code=code, inputs=test_in, timeout=1.0)
+ answer = python(code=aux_code+code, inputs=test_in, timeout=1.0)
exc = answer[0][3]
exc_hint = get_exception_desc(answer[0][3])
if exc:
diff --git a/python/problems/introduction/fast_fingers/common.py b/python/problems/introduction/fast_fingers/common.py
index fe87555..af08c63 100644
--- a/python/problems/introduction/fast_fingers/common.py
+++ b/python/problems/introduction/fast_fingers/common.py
@@ -24,7 +24,7 @@ hint_type = {
'printing': Hint('printing'),
}
-def test(python, code):
+def test(python, code, aux_code=''):
# List of inputs: (expression to eval, stdin).
test_in = [
(None, '1\n'),
@@ -42,7 +42,7 @@ def test(python, code):
]
# 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 = 0
@@ -60,12 +60,12 @@ def test(python, code):
hints.append({'id': 'problematic_test_case', 'args': {'testin': str(tin), 'testout': str(tout)}})
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
test_in = [(None, '212\n')]
- answer = python(code=code, inputs=test_in, timeout=1.0)
+ answer = python(code=aux_code+code, inputs=test_in, timeout=1.0)
exc = answer[0][3]
exc_hint = get_exception_desc(answer[0][3])
# if have an exception!
diff --git a/python/problems/introduction/fast_fingers_2/common.py b/python/problems/introduction/fast_fingers_2/common.py
index 01ad941..fe50111 100644
--- a/python/problems/introduction/fast_fingers_2/common.py
+++ b/python/problems/introduction/fast_fingers_2/common.py
@@ -33,7 +33,7 @@ hint_type = {
'final_hint_noif': Hint('final_hint_noif')
}
-def test(python, code):
+def test(python, code, aux_code=''):
# List of inputs: (expression to eval, stdin).
test = [(5,'25\n'),
(6, '29\n'),
@@ -58,7 +58,7 @@ def test(python, code):
# hook randint
tcode = random_code.format(t[0]) + code
- answers = python(code=tcode, inputs=[(None, t[1])], timeout=1.0)
+ answers = python(code=aux_code+tcode, inputs=[(None, t[1])], timeout=1.0)
output = answers[0][1]
if str(test_out[ti]) in output and str(not test_out[ti]) not in output:
@@ -81,12 +81,12 @@ def test(python, code):
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
test_in = [(None, '16\n')]
- answer = python(code=code, inputs=test_in, timeout=1.0)
+ answer = python(code=aux_code+code, inputs=test_in, timeout=1.0)
exc = answer[0][3]
exc_hint = get_exception_desc(answer[0][3])
# if have an exception!
diff --git a/python/problems/introduction/leap_year/common.py b/python/problems/introduction/leap_year/common.py
index 7dc7318..414f295 100644
--- a/python/problems/introduction/leap_year/common.py
+++ b/python/problems/introduction/leap_year/common.py
@@ -23,7 +23,7 @@ hint_type = {
'final_hint': Hint('final_hint'),
}
-def test(python, code):
+def test(python, code, aux_code=''):
# List of inputs: (expression to eval, stdin).
test_in = [
(None, '1900\n'),
@@ -41,7 +41,7 @@ def test(python, code):
]
# 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 = 0
@@ -61,12 +61,12 @@ 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
test_in = [(None, '212\n')]
- answer = python(code=code, inputs=test_in, timeout=1.0)
+ answer = python(code=aux_code+code, inputs=test_in, timeout=1.0)
exc = answer[0][3]
exc_hint = get_exception_desc(answer[0][3])
if exc:
diff --git a/python/problems/introduction/pythagorean_theorem/common.py b/python/problems/introduction/pythagorean_theorem/common.py
index d38ae66..79eca5b 100644
--- a/python/problems/introduction/pythagorean_theorem/common.py
+++ b/python/problems/introduction/pythagorean_theorem/common.py
@@ -24,7 +24,7 @@ hint_type = {
'final_hint': Hint('final_hint')
}
-def test(python, code):
+def test(python, code, aux_code=''):
# List of inputs: (expression to eval, stdin).
test_in = [
(None, '3\n4\n'),
@@ -47,7 +47,7 @@ def test(python, code):
]
# 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 = 0
@@ -67,12 +67,12 @@ 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
test_in = [(None, '3\n4\n')]
- answer = python(code=code, inputs=test_in, timeout=1.0)
+ answer = python(code=aux_code+code, inputs=test_in, timeout=1.0)
exc = answer[0][3]
exc_hint = get_exception_desc(answer[0][3])
if exc: