EpicMandM
Авг. 16, 2016 19:01:11
Например мне нужно ввести пароль 3 раза я использую for attemps_left in range(3):, потом идёт ввод с клавиатуры, сравнение с числом в памяти, и если пароль не правильный всё это повторяется 3 раза и если пользователь не ввёл правильный пароль программа пишет : Access is denied и я хочу чтоб изменялось количество попыток. 3 , 2 , 1
for attemps_left in range(3):
a = (input(“pls enter password: (Вот тут должно писать остаток попыток) ”))
Master_Sergius
Авг. 16, 2016 20:42:39
Ещё можно воспользоваться готовыми решениями, типа такого декоратора:
https://pypi.python.org/pypi/retryingНу или вот даже самому можно сделать примитивный декоратор:
def retry(number):
def wrap(f, number=number):
def wrapped_f(*args, number=number):
if not f(*args):
number -= 1
if number <= 0:
print('Sorry, you lose all attempts')
return False
print('Try again. %d tries left' % (number,))
wrapped_f(*args, number=number)
return wrapped_f
return wrap
CORRECT_INPUT = 'abc'
@retry(3)
def get_input(prompt):
user_input = input(prompt)
return user_input == CORRECT_INPUT
get_input('Enter password: ')