On Wed, 27 Sep 2017 08:23 am, Cai Gengyang wrote: > > I'm trying to understand the logic behind AND. I looked up Python logic tables > > False and False gives False > False and True gives False > True and False gives False > True and True gives True. > > So does that mean that the way 'and' works in Python is that both terms must > be True (1) for the entire expression to be True ? Why is it defined that way, > weird ? I was always under the impression that 'and' means that when you have > both terms the same, ie either True and True or False and False , then it > gives True
No, your impression is wrong. Python's AND is the same as boolean AND everywhere: every programming language that supports boolean AND, in Boolean Algebra and in logic. In C++ https://msdn.microsoft.com/en-us/library/c6s3h5a7.aspx In Javascript https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators Boolean algebra https://en.wikipedia.org/wiki/Boolean_algebra#Basic_operations Consider that today I spent the day sitting at home watching movies. If I said: "Today, I climbed to the top of Mount Everest." That would be False. If I said: "Today, I swam across the English Channel." That would be False. If I said: "Today, I climbed to the top of Mount Everest, AND I swam across the English Channel." that is still False. What you are thinking of is best describes as "equals": False equals False gives True False equals True gives False True equals False gives False True equals True gives True -- Steve “Cheer up,” they said, “things could be worse.” So I cheered up, and sure enough, things got worse. -- https://mail.python.org/mailman/listinfo/python-list