2016-03-26 4 views
-4

Я создал программу, которая запрашивает имя пользователя и пароль до тех пор, пока не будет введено правильно.Как сделать цикл программы до тех пор, пока пользователь не введет правильное имя пользователя и пароль

Код:

def main(): 
    endProgram ="no" 
    while endProgram =="no": 
     print("Welcome to the program :D") 
     print("-------------------------") 

     username =778922 
     password =2713 
     login = "" 
     while login ==username: 
      username = int(input("Username: ")) 
      password = int(input("Passowrd: ")) 


     endProgram = raw_input("Do you wish to end the program") 

main() 

ответ

0

Ваш while петля никогда не будет ничего другого, потому что вы установили endProgram к 'no' прежде всего.

Вот код, который предложит пользователю ввести их данные для входа (имя пользователя) и повторить, если имя пользователя не найден:

def main(): 
    endProgram = input('do you wish to end the program?') 
    while endProgram == 'no': 
     print('Welcome') 
     username = 778922 
     password = 2713 
     login = input('What\'s your login info?') 
     if login==username: 
      username = int(input("Username: ")) 
      password = int(input("Password: ")) 

main() 
0

изменить состояние вашего время цикла к следующему:

while username != input_name or password != input_password: 
    #continue to take inputs or end program 

Таким образом, ваш внутренний цикл while будет продолжаться до тех пор, пока не будет введено правильное имя пользователя. Для того, чтобы выйти из этого цикла, если пользователь не может ввести правильное имя пользователя или пароль, то можете сделать следующее

endProgram = raw_input("Do you wish to end the program") 
if endProgram == "yes": 
    break 
+0

Он находится на Python3 Я рекомендую вам изменить '' raw_input' в input' – Signal

Смежные вопросы