Python Forum
Potential confusion combining != with or
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Potential confusion combining != with or
#6
(Oct-31-2019, 06:37 AM)ndc85430 Wrote: You then compare the return value of answer.lower() with True and the expression answer.lower() != True will always evaluate to True because answer.lower() returns a string and values of different types (string and bool here) will never be equal.

Actually the second part of your explanation (the one I have quoted) is not correct. The first part about true-testing is correct.
"y" or "n" will return "y" (i.e. first element that is considered to be True). So if you have False or None or [] or 'spam' it will return 'spam'
And 'y' and 'n' will return 'n' - i.e. the last element considered to be True

That is why answer.lower() != ("y" or "n"): is same as answer.lower() != "y":
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply


Messages In This Thread
RE: Potential confusion combining != with or - by buran - Oct-31-2019, 06:49 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Is it possible to use the full potential of scalene in Pycharm? arnoldpredator 4 855 Nov-18-2023, 01:46 PM
Last Post: arnoldpredator
  Potential Permission error on Mac OSX Catalina OWOLLC 1 932 Nov-02-2023, 07:52 AM
Last Post: unjnsacih
  Potentiostat/Galvanostat potential issue pepe523869 10 2,826 Nov-05-2022, 07:08 PM
Last Post: pepe523869

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020