2016-08-11 1 views
0

Программа должна разрешить 3 неверным попыткам пользователя ввести пароль. Однако, если они правильно пытаются получить пароль, я хочу, чтобы программа печатала «nice».Система паролей. Как разрешить 3 неправильных догадки, позволяя программе продолжить работу, если правильная догадка

Вот то, что я до сих пор:

def main(): 

    n = 2 

    for i in range(0, 3, 1): 

     attempt = input('Enter password: ') 


     if attempt != 'password': 
      print('Incorrect. ' + str(n) + ' attempts left') 

     n = int(n) - 1 

     else: 
      print('nice') 
+2

Слово, которое вы ищете, 'break'. – polku

ответ

-1
n = 2 
for i in range(0, 3, 1): 
    attempt = raw_input('Enter password: ') 
    if attempt != 'password': 
     print('Incorrect. ' + str(n) + ' attempts left') 
     n = int(n) - 1 
    elif n > 0: 
     print('nice') 
    else: 
     print('no attempts left') 
+1

Хотя этот код может ответить на вопрос, предоставляя дополнительный контекст относительно того, почему и/или как этот код отвечает на вопрос, улучшает его долгосрочную ценность. Кодовые ответы не приветствуются. – Ajean

+0

Чувак, на мой взгляд, этот ответ не нужно объяснять. Но так или иначе, не стесняйтесь меня: D –

+1

* Чувак * Это был не я, который был ниспослан, и я просто пытался помочь вам, вы знаете, избегать этого downvote. – Ajean

-1
for x in range(3): 
pass_correct=False 
password = "password" 
attempt=raw_input("Enter password: ") 
if attempt == password: 
    pass_correct=True 
    break 
else: 
    print "incorrect, " + str(2-x) + " attempts left" 
if pass_correct: 
    print "nice" 
else: 
    print "no attempts left" 

сжатое

1
max_retries = 3 
for i in range(max_retries): 
    passwd = input('\nEnter password: ') 
    if passwd == 'password': 
     print('\nnice') 
     break 
    print('Incorrect. %d attempts left' % (max_retries-i-1))