Конструкция if не сравнивает введённый текст пользователем

при вводе в консоль ответа с маленькой буквы - условия не работают и Питон перескакивает на else, не засчитывая мой ответ. Однако стоит мне ввести тот же ответ, только с заглавной буквы, то программа работает как надо.

Почему такая ситуация происходит? Разве if answer == ('Да' or 'да'): не говорит Питону: если Да или да, то выполни следующее? Разве он не должен работать в обоих случаях?

Скрин работы программы прилагаю. f

while True:
answer = input('Вы Василий? ')

if answer == ('Да' or 'да'):
    print('Хорошая вода!')

elif answer == ('Нет' or 'нет'):
    print('Сделай мне омлет.')

else:
    print('Я вас не звал, идите лесом.')

Ответы (2 шт):

Автор решения: Qwertiy
if answer == ('Да' or 'да'):
if answer == 'Да' or answer == 'да':
if answer in ['Да', 'да']:
if answer.lower() == 'да':
→ Ссылка
Автор решения: user244413

Правильный ответ уже дали, а я объясню, почему ваш вариант не правильный.

При вычислении логического выражения

answer == ('Да' or 'да')

сначала вычисляется выражение or в скобках, а затем производится сравнение ==.

>>> answer = "да"
>>> ('Да' or 'да')
'Да'
>>> answer == ('Да' or 'да')
False

А вам нужно сначала сделать сравнение answer два раза,
а потом лишь проверять, было ли одно из этих сравнений True:

>>> answer == 'Да'
False
>>> answer == 'да'
True
>>> answer == 'Да' or answer == 'да'
True
→ Ссылка