From 1eae572b3854231a5af88c4fe2ecfc0fd258ab6e Mon Sep 17 00:00:00 2001 From: Aleksander Sadikov Date: Mon, 21 Mar 2016 16:09:35 +0100 Subject: Hints and plans for palindrome/1 added. --- prolog/problems/lists_advanced/palindrome_1/common.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'prolog/problems/lists_advanced/palindrome_1/common.py') diff --git a/prolog/problems/lists_advanced/palindrome_1/common.py b/prolog/problems/lists_advanced/palindrome_1/common.py index bbd28fb..2299e45 100644 --- a/prolog/problems/lists_advanced/palindrome_1/common.py +++ b/prolog/problems/lists_advanced/palindrome_1/common.py @@ -32,7 +32,8 @@ hint_type = { 'one_base_case_missing': Hint('one_base_case_missing'), 'arbitrary_base_case': Hint('arbitrary_base_case'), 'last_used': Hint('last_used'), - 'final_hint': Hint('final_hint'), + 'final_hint_1': Hint('final_hint_1'), + 'final_hint_2': Hint('final_hint_2'), } test_cases = [ @@ -62,7 +63,12 @@ def test(code, aux_code): hints = [{'id': 'test_results', 'args': {'passed': n_correct, 'total': len(test_cases)}}] if n_correct == len(test_cases): - hints += [{'id': 'final_hint'}] + tokens = prolog.util.tokenize(code) + if prolog.util.Token('NAME', 'rev') not in tokens: + hints += [{'id': 'final_hint_1'}] + if prolog.util.Token('NAME', 'rev') in tokens and \ + (prolog.util.Token('EQU', '=') in tokens or prolog.util.Token('EQ', '==') in tokens): + hints += [{'id': 'final_hint_2'}] return n_correct, len(test_cases), hints def hint(code, aux_code): -- cgit v1.2.1