циклы; конец оператора в Python - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть это задание: - Написать цикл обработки ошибок, который итеративно запрашивает у пользователя ввод имени пользователя и пароля до тех пор, пока не будут введены правильные значения.

  • Если имя пользователя и пароль верны, завершите цикл и напечатайте положительное утверждение («Вы вошли в заколдованный дворец»).
  • в качестве альтернативы, попросите пользователя повторно ввести имя пользователя и пароль («неверное имя пользователя / пароль, попробуйте еще раз»).
  • Если пользователь трижды пытался и потерпел неудачу, завершите цикл и распечатайте заявление об отсрочке («неверное имя пользователя / пароль, обратитесь к системному администратору»)

это то, что я написал до сих пор:

while x in range(2):
    x = x + 1
    if  q1==username and q2==password:
       print("you entered the enchanted palace")
       break
    else:
       print("wrong username/password, try again")
       q1 = input("enter username: ")
       q2 = input("enter password: ")

Я действительно не знаю, как подойти к третьему предложению.

1 Ответ

0 голосов
/ 15 ноября 2018

Ты так близко:

  1. Цикл 3 раза, а не дважды.
  2. Заменить while и увеличить на for x in range(3):
  3. Установите флажок, чтобы вы могли определить, есть ли у вас действительный пароль. Если нет, напечатайте это последнее сообщение.

С парой простых обновлений кода ...

valid = False

for tries in range(3):
    if  q1==username and q2==password:
       print("you entered the enchanted palace")
       valid = True
       break
    else:
       print("wrong username/password, try again")
       q1 = input("enter username: ")
       q2 = input("enter password: ")

if not valid:
    print("wrong username/password, contact a system administrator”)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...