From cf4e59c9d6bce337514fc7d77120baced0d6d7bc Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Thu, 17 Mar 2016 14:19:45 +0100 Subject: Prolog: split lists exercises into two groups --- .../problems/lists/evenlen_1_+_oddlen_1/common.py | 56 ---------------------- prolog/problems/lists/evenlen_1_+_oddlen_1/en.py | 18 ------- prolog/problems/lists/evenlen_1_+_oddlen_1/sl.py | 18 ------- 3 files changed, 92 deletions(-) delete mode 100644 prolog/problems/lists/evenlen_1_+_oddlen_1/common.py delete mode 100644 prolog/problems/lists/evenlen_1_+_oddlen_1/en.py delete mode 100644 prolog/problems/lists/evenlen_1_+_oddlen_1/sl.py (limited to 'prolog/problems/lists/evenlen_1_+_oddlen_1') diff --git a/prolog/problems/lists/evenlen_1_+_oddlen_1/common.py b/prolog/problems/lists/evenlen_1_+_oddlen_1/common.py deleted file mode 100644 index 1236551..0000000 --- a/prolog/problems/lists/evenlen_1_+_oddlen_1/common.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 - -from operator import itemgetter -import prolog.engine -import server.problems - -id = 116 -number = 23 -visible = False -facts = None - -solution = '''\ -evenlen([]). -evenlen([_,_|T]) :- - evenlen(T). - -oddlen([_]). -oddlen([_,_|T]) :- - oddlen(T). -''' - -test_cases = [ - ('evenlen([])', - [{}]), - ('evenlen([r, w, t, q])', - [{}]), - ('\+ evenlen([r, w, t, q, l])', - [{}]), - ('\+ oddlen([r, w, t, q])', - [{}]), - ('oddlen([r, w, t, q, l])', - [{}]), -] - -def test(code, aux_code): - n_correct = 0 - engine_id = None - try: - engine_id, output = prolog.engine.create(code=code+aux_code, timeout=1.0) - if engine_id is not None and 'error' not in map(itemgetter(0), output): - # Engine successfully created, and no syntax error in program. - for query, answers in test_cases: - if prolog.engine.check_answers(engine_id, query=query, answers=answers, timeout=1.0): - n_correct += 1 - except socket.timeout: - pass - finally: - if engine_id: - prolog.engine.destroy(engine_id) - - hints = [{'id': 'test_results', 'args': {'passed': n_correct, 'total': len(test_cases)}}] - return n_correct, len(test_cases), hints - -def hint(code, aux_code): - # TODO - return [] diff --git a/prolog/problems/lists/evenlen_1_+_oddlen_1/en.py b/prolog/problems/lists/evenlen_1_+_oddlen_1/en.py deleted file mode 100644 index a01a41b..0000000 --- a/prolog/problems/lists/evenlen_1_+_oddlen_1/en.py +++ /dev/null @@ -1,18 +0,0 @@ -# coding=utf-8 - -name = 'evenlen/1 + oddlen/1' -slug = 'check if the length of a list is even or odd' - -description = '''\ -

evenlen(L): the list L has an even number of elements.
-oddlen(L): the list L has an odd number of elements.

-
-?- oddlen([1,2,3,4,5]).
-  true.
-?- oddlen([1,2,3,4]).
-  false.
-?- evenlen([1,2,3,4]).
-  true.
-
''' - -hint = {} diff --git a/prolog/problems/lists/evenlen_1_+_oddlen_1/sl.py b/prolog/problems/lists/evenlen_1_+_oddlen_1/sl.py deleted file mode 100644 index 4ca44c2..0000000 --- a/prolog/problems/lists/evenlen_1_+_oddlen_1/sl.py +++ /dev/null @@ -1,18 +0,0 @@ -# coding=utf-8 - -name = 'evenlen/1 + oddlen/1' -slug = 'Brez aritmetike preveri, če je seznam sode ali lihe dolžine' - -description = '''\ -

evenlen(L): seznam L ima sodo število elementov.
-oddlen(L): seznam L ima liho število elementov.

-
-?- oddlen([1,2,3,4,5]).
-  true.
-?- oddlen([1,2,3,4]).
-  false.
-?- evenlen([1,2,3,4]).
-  true.
-
''' - -hint = {} -- cgit v1.2.1