Проблема в вашем коде заключается в использовании оператора `or`. Выражение `if a == "Да" or "да":` интерпретируется как `if (a == "Да") or ("да")`, где `"да"` всегда будет оцениваться как истина, потому что непустая строка в Python считается истинной.
Чтобы исправить это, вы можете использовать метод строки `.lower()`, чтобы упростить сравнение без учета регистра. Вот исправленный код:
a = input("Москва - столица РФ? ").strip()
if a.lower() == "да":
print("Правильно")
else:
print("Не правильно")
Теперь ваш код будет правильно проверять ввод пользователя без учета регистра букв.
if a == "Да" or "да":
print ("Правильно")
else:
print ("Не правильно")
Во-первых, это нихрена не работает, ведь даже когда a ≠ "Да" или "да" мне почему то всё равно возвращает true.
Во-вторых, явно есть другая возможность убрать зависимость от регистра букв.
Так вот почему это не работает, и какоц есть другой способ (если он есть)?