Skip to content Skip to sidebar Skip to footer

Python If Statement Evaluation With Multiple Values

I'm not exactly sure why but when I execute this section of code nothing happens. while (True) : choice = str(input('Do you want to draw a spirograph? (Y/N) ')) if choic

Solution 1:

It won't work because the 'N' literal always evaluates to True within your if statement.

Your if condition currently stands as if choice == 'n' or 'N' :, which is equivalent to if (choice == 'n') or ('N'), which will always evaluate to True irrespective of the value of variable choice, since the literal 'N' always evaluates to True.

Instead, use one of the following

  • if choice == 'n' or choice == 'N' :
  • if choice in 'nN' :
  • if choice in ('n', 'N') :

The same holds for your elif block as well. You can read more about Truth Value testing here.

Solution 2:

This expression doesn't do what you want:

choice == 'n' or 'N'

It is interpretted as this:

(choice == 'n') or 'N'

You might want to try this instead:

choice in'nN'

Post a Comment for "Python If Statement Evaluation With Multiple Values"