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