I teach intro to programming using Python. In my first assignment, students are asked to assign variables of different types and print out the values.
One student (who really did not understand Booleans) turned in the following for his/her interpretation of Booleans (Python 2.7): True = 'shadow' False = 'light' print "If the sun is behind a cloud, there is", True print "If it is a clear day, there is", False And it printed: If the sun is behind a cloud, there is shadow If it is a clear day, there is light It seems very odd that Python allows you to override the values of True and False. In the code, True and False were clearly recognized as keywords as they were colored purple. But there was no error message. You cannot assign new values to other keywords. Simple tests of things like: for = 5 while = 2 not = 3 As expected, all result in SyntaxError: invalid syntax. Why would Python allow you to override the values of True and False? I wonder if this is some sort of historical thing as these are the only keywords besides None that are uppercased. This line: None = 5 Even gives a special SyntaxError: cannot assign to None Just curious, Irv -- https://mail.python.org/mailman/listinfo/python-list