函数中的参数应该是什么,应该返回什么

时间:2019-04-30 10:12:09

标签: python-3.x return arguments

我在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 :(得分:0)

您不需要任何参数...您也不需要返回任何内容,该函数将在完成时退出。

答案 1 :(得分:0)

如果希望用户控制它们,则可以将passwordtotal_guesses作为函数的输入。

由您决定是否要返回内容,如果密码正确,则可以返回True,否则,请返回False,如果您想根据这些内容做出进一步的决定值,例如用户登录,打开UI或用户无法登录,关闭程序等。或者您什么也不能返回,这取决于用户登录/登录失败后的下一步

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