Example #1
0
def main():
    """ Solve riddle. """
    house_number = 5
    riddle = ProblemData(house_number, build_assertions())

    for rounds in range(15):
        progress_made = False  # have any changes (progress) been made this round?
        riddle, progress_made = deduce(riddle)
        if not progress_made:
            print("\t\tNo progress made in round #" + str(rounds + 1) + ". Breaking loop.")
            print("\t\tAssertions used: " + str(riddle.assertions_used.count(True)) + "/" 
                  + str(len(riddle.assertions_used))) 
            break


    riddle.house_state()
    riddle.element_state()