python-创建一个登录判断的函数

方法一
def account_login():
password = input('Password:')
if password == '12345':
print('Login success!')
else:
print('Wrong password or invalid input!')

account_login()
account_login()

释义:
  • 第1行:定义函数,并不需要参数;
  • 第2行:使用 input 获得用户输入的字符串并储存在变量 password 中;
  • 第3、4行:设置条件,如果用户输入的字符串和预设的密码12345相等时,就执行打印文本‘Login success!’
  • 第5、6行:反之,一切不等于预设密码的输入结果,全部会执行打印错误提示,并且再次调用函数,让用户再次输入密码;
  • 第7行:运行函数;
  • 第8行:调用函数。

方法二

def account_login():
password = input('Password:')
password_correct = password == '12345' #here
if password_correct:
print('Login success!')
else:
print('Wrong password or invalid input!')

account_login()
account_login()

针对方法一if后面的布尔表达式过长或难以理解情况
方法二采取给变量赋值的方法来储存布尔表达式返回的布尔值True 或 False

密码重置功能
password_list = ['*#*#','12345']
def account_login():
password = input('Password:')
password_correct = password == password_list[-1]
password_reset = password == password_list[0]
if password_correct:
print('Login success!')
elif password_reset:
new_password = input('Enter a new password:')
password_list.append(new_password)
print('Your password has changed successfully!')
account_login()
else:
print('Wrong password or invalid input!')

account_login()
account_login()
第1行:创建一个列表,用于储存用户的秘密/初始密码和其他数据(对实际数据库的简化模拟);
第2行:定义函数;
第3行:使用input获取用户输入的字符串并储存在变量password中;
第4行:当用户输入的密码等于密码列表中最后一个元素的时候(即用户最新设定的密码),登录成功;
第5~9行:当用户输入的密码等于密码列表中第一个元素的时候(即重置密码的“口令”)触发密码变更,并将变更后的密码储存至列表的最后一个,成为最新的用户密码;
第10行:反之,一切不等于预设密码的输入结果,全部会执行打印错误提示,并且再次调用函数,让用户再次输入密码;
第11行:调用函数。

posted on 2016-09-20 15:10  键盘上的指尖  阅读(2214)  评论(0编辑  收藏  举报

导航