5 kyu

Logic Detective

29 of 99Ziliquas
Description
Loading description...
Algorithms
Mathematics
Logic
  • Please sign in or sign up to leave a comment.
  • ddx1 Avatar

    nice kata. note that you are evaluating a possibility, so the values of the variables can be either true or false

  • FrimaireFroid Avatar

    I'm really confused on one of the test cases. (I don't think this is a spoiler because it's just about the test case.) The test case is: (aOR!b)AND(cOR!d)AND(!cOR!dOR!eOR!f)AND(eOR!g)AND(!fORg)AND(bOR!c)AND(cORdOReORf)AND(!aORf)AND(dOR!e)AND(aORbORg) I think the feedback says that this test case is supposed to be True/valid (because my program gives the answer False), but I don't understand why.

    As far as I can tell, if a is True, !aORf means f must be True (because !a is False), !fORg means g must be True, eOR!g means e must be True, dOR!e means d must be True, cOR!d means c must be True, and then !cOR!dOR!eOR!f is False because f, e, d, and c are True. So the solution a = True doesn't work.

    If a is False, aOR!b means b must be False (because a is False in aOR!b, so !b must be True and b must be False), and then bOR!c means c must be False, cOR!d means d must be false, dOR!e means e must be False, and eOR!g means g must be False, making aORbORg False.

    Since a cannot be True or False with all the statements evaluating to True, why is this statement valid? I'm clearly missing something here, maybe not even understanding the Kata as a whole, but since I can't even understand the test case, it's really hard to get my program to understand it. Can anyone help me out here?

  • Voile Avatar

    Needs random tests.

  • bouchert Avatar

    In the test cases and sample tests for Python, the parameters to assert_equals are being given in the wrong order. It should be test.assert_equals(is_possible(expr),expected_value). As it is, if the user's solution returns True when False is expected, it will say False should equal True, when it should say True should equal False.

  • Antolius Avatar

    I've put togeather a JavaScript translation. Could you please review it?

    (I've left description as is and translated the test cases directly.)

  • siebenschlaefer Avatar

    This comment has been hidden.

    • Antolius Avatar

      I wouldn't say it's bad to try and generate all combinations. In fact there are interesting things you can do with the logic engine that generates possible solutions to an expression.

  • Ziliquas Avatar

    Added Python translation.