Какими должны быть мои аргументы в моей функции и что я должен вернуть - PullRequest
1 голос
/ 30 апреля 2019

У меня простой вопрос на Python. Напишите программу, которая просит пользователя ввести пароль.

Если пользователь вводит правильный пароль, программа должна сообщить им, что они вошли в систему.

В противном случае программа должна попросить их повторно ввести пароль. Пользователь должен получить только пять попыток ввода пароля, после чего программа должна сообщить им, что они вышли из системы.

Я уже решил проблему, но не знаю, нужны ли мне аргументы в моей функции. Другой вопрос, что я должен вернуть в программе. Я поставил return 0, но не хочу, чтобы 0 появлялся в отладчике.

def code():
    global password
    password='123456'
    global total_guesses
    total_guesses=5
    while total_guesses<=5 and total_guesses>0:
        resposta=input('Digite password\n')
        if password==resposta:
            print('You have entered the system')
            break
        else:
            print('Wrong password you haver',total_guesses,'total_guesses')
            total_guesses-=1
    return 0
print(code())

Ответы [ 2 ]

0 голосов
/ 03 мая 2019

Вы можете передать свои password и total_guesses как входные данные для функции, если вы хотите, чтобы они управлялись пользователем.

Также вам решать, хотите ли вы что-то вернуть или нет, вы можете вернуть True, если пароль правильный, в противном случае верните False, если вы хотите принять дальнейшие решения на основе этих значений, например, если пользователь входит в систему, открывает пользовательский интерфейс или, если пользователь не может войти в систему, закрывает программу и т. д. Или вы можете ничего не возвращать, это ваш следующий шаг после того, как пользователь войдет в систему / не сможет войти в систему

def code(password, total_guesses):

    #Flag to return if user logged in or not
    logged_in = False
    while total_guesses<=5 and total_guesses>0:
        resposta=input('Digite password\n')
        if password==resposta:
            print('You have entered the system')
            logged_in = True
            break
        else:
            print('Wrong password you haver',total_guesses,'total_guesses')
            total_guesses-=1

    #Return the flag        
    return logged_in

password='123456'
total_guesses=5

#Use password and total_guesses as inputs
print(code(password, total_guesses))

Выводы будут выглядеть как

Digite password
123456
You have entered the system
True

Digite password
1
Wrong password you haver 5 total_guesses
Digite password
2
Wrong password you haver 4 total_guesses
Digite password
3
Wrong password you haver 3 total_guesses
Digite password
4
Wrong password you haver 2 total_guesses
Digite password
5
Wrong password you haver 1 total_guesses
False
0 голосов
/ 30 апреля 2019

Вам не нужны никакие аргументы ... вам также не нужно ничего возвращать, функция завершится после завершения.

...