Почему не работает if else в VsCode?
код:
import numexpr
from colorama import init
from colorama import Fore, Back, Style
init()
for k in range(3):
print(Fore.CYAN)
user_password=input("Введите пароль:")
password=123
if password==user_password:
print(Fore.BLUE)
print("Доступ разрешён.")
for i in range(1):
print(Fore.LIGHTYELLOW_EX)
expr = input("Введите математическое выражение: ")
result = numexpr.evaluate(expr)
print(Fore.GREEN)
print(f"Результат: {result}")
print(Fore.LIGHTRED_EX)
print("Лимит использования превышен!!!")
else:
print(Fore.RED)
print("Доступ запрещён!!!")
в терминале:
Введите пароль:123
Доступ запрещён!!!
Ответы (3 шт):
Автор решения: CrazyElf
→ Ссылка
user_password=input("Введите пароль:")
password=123
if password==user_password:
input всегда возвращает строку. Вы сравниваете строку с числом, это сравнение никогда не даст положительный результат. Сравнивайте две строки:
user_password=input("Введите пароль:")
password='123' # теперь это строка
if password==user_password:
Автор решения: gfd2
→ Ссылка
Если пароль всегда из цифр, то user_password=(int)input("Введите пароль:")
Автор решения: Егор
→ Ссылка
from colorama import Fore, Back, Style
for k in range(3):
print(Fore.CYAN)
user_password = input("Введите пароль:")
password = "123"
if user_password == password:
print(Fore.BLUE)
print("Доступ разрешён.")
for i in range(1):
print(Fore.LIGHTYELLOW_EX)
expr = input("Введите математическое выражение: ")
result = numexpr.evaluate(expr)
print(Fore.GREEN)
print(f"Результат: {result}")
print(Fore.LIGHTRED_EX)
print("Лимит использования превышен!!!")
else:
print(Fore.RED)
print("Доступ запрещён!!!")
user_password=input("Введите пароль:")
password=123
if password==user_password:
При вводе данных input всегда придаёт значение str. в Python невозможно сравнивать разные типы данных, значит мы должны изменить тип данных 123 - int на "123" str: password = "123" - тип данных str