Recently I am doing the assignment of COMP9021. It is too difficult and it is about the Knight and Knave. While I tried to finish this assignment, however I only finnished the code with the testcase Professor Martin gave. I encontered a problem was that if there is only one element in a tuple, actually we need to add a comma.
Examples as follows can help us to understand it.
a = ((2, 3),) b = ((2, 3)) c = (2,) d = (2) print(a, b, c, d) print(len(a), len(b), len(c)) outputs: ((2, 3),) (2, 3) (2,) 2 1 2 1
Actually, variable a is a tuple with only one element which is (2, 3).
Variable b is a tuple with two elements which is 2 and 3.
So if you want to create a tuple with only one element, you need to add a comma otherwise you will create a different tuple.