Найти - Пользователи
Полная версия: Не работает if else
Начало » Python для новичков » Не работает if else
1
_hiddenberg_
Здравствуйте. Написал вот такой код, где пользователь должен ввести, есть ли у него условно аккаунт или он еще не зареган. На ответы “yes” или “+” предлагает залогиниться, на ответы “no” или “-” - создать аккаунт. Если же он пишет в строке фигню, либо что-то помимо ответов “да” и “нет”, должно выдать надпись “некорректный ответ”. При компиляции ошибок нет, но в случае написания в поле абы чего, программа все равно предлагает залогиниться, т.е. срабатывает тот же алгоритм, что и после ответа “yes”. Прикрепил файл с кодом.
xam1816
_hiddenberg_
Прикрепил файл с кодом.
[code python]между этими тегами вставлять код на форуме[/code]
ZerG
Вы не совсем освоили конструкцию IF

Если вы уже хотите сделать множественную проверку то это должно было бы выглядеть примерно так:
     account_question = input("Account action: ")
    if account_question == "yes" or account_question == "Yes" or account_question == "YES" or account_question == "+":
        print("Lets login in.")
    elif account_question == "no" or account_question == "No" or account_question == "NO" or account_question == "-":
        print(" Lets create your account")
    else:
        print("Icorrect answer")

Однако такой код несколько избыточный. В случае когда символы могут быть разными - грамотно просто приводить сравниваемое слово к единому регистру

 answers = ["no", "No", "NO"]
for i in answers:
    if i.lower() == "no":
        print("OK")

если же команд больше чем 1 (Yes, OK, +, add) тогда проще поместить их в список и сверяться по нему что бы не плодить лишние проверки

 allow_keys = ["no", "No", "NO", "-", "del"]
if account_question in allow_keys:
    print("Lets Login")

И на будущее - вставляйте код тектом оборачивая его в теги - грузить картинки это как то по ПХПшному
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB