diff options
author | Aleksander Sadikov <sasha@fri.uni-lj.si> | 2015-09-22 17:57:04 +0200 |
---|---|---|
committer | Aleksander Sadikov <sasha@fri.uni-lj.si> | 2015-09-22 17:57:04 +0200 |
commit | c50452d81b08d54b734f1da73b736bfbc2997215 (patch) | |
tree | 03c64486fb259b97fa7330849990dac76e14c74c /prolog/problems/family_relations/sister_2 | |
parent | cb71b2083b2f87b2f0466577dbe3e11efe22410c (diff) |
New problems with hints for famrel section added.
This practically completes famrel section without some details.
Diffstat (limited to 'prolog/problems/family_relations/sister_2')
-rw-r--r-- | prolog/problems/family_relations/sister_2/common.py | 12 | ||||
-rw-r--r-- | prolog/problems/family_relations/sister_2/sl.py | 2 |
2 files changed, 6 insertions, 8 deletions
diff --git a/prolog/problems/family_relations/sister_2/common.py b/prolog/problems/family_relations/sister_2/common.py index b3cbff0..6c48b00 100644 --- a/prolog/problems/family_relations/sister_2/common.py +++ b/prolog/problems/family_relations/sister_2/common.py @@ -24,7 +24,7 @@ sister(X, Y) :- hint_type = { 'x_must_be_female': Hint('x_must_be_female'), 'common_parent_needed': Hint('common_parent_needed'), - 'Y_can_be_of_any_gender': Hint('Y_can_be_of_any_gender'), + 'y_can_be_of_any_gender': Hint('Y_can_be_of_any_gender'), 'x_y_must_be_different': Hint('x_y_must_be_different'), } @@ -118,15 +118,13 @@ def hint(program, solved_problems): # this is an example of using the ordering of hints for easier trigger checks if prolog.engine.ask_one(engine_id, 'sister(_, Y), male(Y)') == 'false': - return [{'id': 'Y_can_be_of_any_gender'}] + return [{'id': 'y_can_be_of_any_gender'}] # X and Y must be different # this is the last code-specific hint (when everything else doesn't trigger anymore) - ans = prolog.engine.ask_one(engine_id, - 'setof(X, (member(X, [sally, nevia, vanessa]), sister(X, X)), L), length(L, N).') - # TODO this barfs if ans is 'false' - #if ans.get('N') == '3': - # return [{'id': 'x_y_must_be_different'}] + if prolog.engine.ask_truth(engine_id, + 'setof(X, (member(X, [sally, nevia, vanessa]), sister(X, X)), L), length(L, 3)'): + return [{'id': 'x_y_must_be_different'}] # last hints are connected with programming style # here, this means detecting such code: diff --git a/prolog/problems/family_relations/sister_2/sl.py b/prolog/problems/family_relations/sister_2/sl.py index aa66567..8c4c60f 100644 --- a/prolog/problems/family_relations/sister_2/sl.py +++ b/prolog/problems/family_relations/sister_2/sl.py @@ -37,7 +37,7 @@ hint = { <p>Sestra je navadno ženskega spola.</p> ''', - 'Y_can_be_of_any_gender': '''\ + 'y_can_be_of_any_gender': '''\ <p><code>Y</code> je pravzaprav lahko poljubnega spola.</p> ''', |