← Все вопросы
Условие if никогда не срабатывает, хотя сравниваю с input — почему?
6
Делаю проверку пароля, но даже при правильном вводе говорит "неверно":
password = input("Пароль: ")
if password == 1234:
print("Верно")
else:
print("Неверно")
Ввожу 1234, а оно "Неверно". Ошибки нет, просто не работает.
2 ответа
12
✓ Принятый ответ — помог автору
input() возвращает строку '1234', а ты сравниваешь её с числом 1234. Строка и число никогда не равны, поэтому условие всегда ложно — отсюда вечное "Неверно".
Сравнивай с тем же типом. Если пароль — это цифры как текст, сравни со строкой:
if password == "1234":
Если это именно число — сначала преобразуй ввод:
if int(password) == 1234:
Главное — чтобы по обе стороны == был один и тот же тип.
4
Частая ловушка рядом: даже у двух строк может "не совпасть" из-за лишнего пробела или перевода строки. Если подозреваешь это — добавь .strip(): password.strip() == "1234".
Ваш ответ
Войдите, чтобы ответить на вопрос.