Практикуя Python, я решил создать небольшую программу проверки паролей. Идея была проста: Если пользователь вводит правильный пароль, разрешите доступ. В противном случае отрицайте это. Звучит просто, правда? Ну... мне удалось...Читать далее Ошибка Моя первая логическая проверка...
Практикуя Python, я решил создать небольшую программу проверки паролей.
Идея была проста:
Если пользователь вводит правильный пароль, разрешите доступ. В противном случае отрицайте это.
Звучит просто, правда?
Ну... мне удалось...Читать далее
Ошибка
Моя первая логика выглядела примерно так:
пароль = input("Введите пароль:")
если пароль == "admin123" или "пароль":
print("Доступ предоставлен")
еще:
print("Доступ запрещен")
Я тестировал совершенно другое...Подробнее
Доступ запрещен
Но Python все равно дал мне:
Доступ предоставлен
😐
Что пошло не так?
Проблема была в этой части:
пароль == "admin123" или "пароль"
Я думал:
«Проверьте, является ли пароль admin123 ИЛИ паролем».
Но Python интерпретирует это иначе.
Строка «пароль» является непустой строкой, а непустые строки считаются истинными в логическом контексте.
Итак, состояние...Подробнее
Исправление
Я изменил условие, чтобы явно сравнить переменную с обоими значениями:
если пароль == "admin123" или пароль == "пароль":
print("Доступ предоставлен")
еще:
print("Доступ запрещен")
Теперь логика...Подробнее
Что я узнал
Эта крошечная ошибка научила меня чему-то важному:
Знания синтаксиса Python недостаточно. Вам также необходимо