#python #python-3.x
Вопрос:
password = "nothing"
tries = 0
while password != "secret":
tries = tries 1
password = input("What is the secret password? ")
print("sorry, please try again. ")
if tries == 3:
print("You have been locked out")
exit()
print("Correct! Enter the maze!")
когда я пишу правильный пароль, я получаю это в ответ
Что такое секретный пароль? секрет.
извините, пожалуйста, попробуйте еще раз. Правильно! Войдите в лабиринт
Комментарии:
1. Есть несколько проблем с вашим кодом. Оператор
print("sorry, please try again. ")
всегда выполняется. Чтобы выйти изwhile
цикла, когдаtries == 3
вы должны использоватьbreak
вместоexit()
.
Ответ №1:
У Python нет do-while, поэтому один из способов сделать подобное —
password = ""
tries = 0
while True:
password = input("What is the secret password? ")
if password == "secret":
break
print("sorry, please try again. ")
tries = 1
if tries == 3:
print("You have been locked out")
exit()
print("Correct! Enter the maze!")
Ответ №2:
Вы можете использовать этот код:
password = "nothing"
tries = 0
while password != "secret":
tries = tries 1
password = input("What is the secret password? ")
if password == "secret":
break
else:
print("sorry, please try again. ")
if tries == 3:
print("You have been locked out")
exit()
print("Correct! Enter the maze!")
Если вы не хотите, чтобы пароль был виден, вы можете использовать следующую библиотеку
getpass()
пример:
import getpass
p = getpass.getpass(prompt='What is the secret password? ')
if p.lower() == 'secret':
print('Correct! Enter the maze!')
else:
print('sorry, please try again.')
Комментарии:
1. !! СПАСИБО, мне нужно изучить код и посмотреть, где я ошибся!!! 😀