Почему не работает 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

→ Ссылка