[Solved] Why doesn’t if, elif or else work with .lower() in Python? [closed]


You need to call the method:

month.lower() == 'march'

The method is an object too, and without calling it you are comparing that method with a string. They’ll never be equal:

>>> month="January"
>>> month.lower
<built-in method lower of str object at 0x100760c30>
>>> month.lower == 'January'
False
>>> month.lower == 'january'
False
>>> month.lower() == 'january'
True

solved Why doesn’t if, elif or else work with .lower() in Python? [closed]