python 初学习 模拟用户登录

#!/usr/bin/env python
#coding:utf-8
'''
2017年8月19日
  python 模拟用户登录,连续失败次数超过3次永辉名被锁定
userfile 文件保存字典 用户名,和密码
sorryname 文件保存字典 登录过的的用户名,登录成功,值为0,登录失败,值+1
当值大于等于3是,账号被锁定,无法进行登录
'''
import shelve
# 私有属性,保存文件名
__userfile = 'loginname.dat'
__users = 'users'
__sorryname = 'sorrylogin.dat'
__sorry = 'sorryuser'
#登录功能
def login(name,passwd):
userfile = shelve.open(__userfile)
users = userfile[__users]
sorryname = shelve.open(__sorryname)
sorry = sorryname[__sorry]
try:
if name in users:
#登录成功
if passwd == users[name]:
sorry[name]=0
return '登录成功'
else: # 失败
if name in sorry:
sorry[name]=sorry[name]+1
else:
sorry[name]=1
return '密码错误'
else:
return '没有此用户,请注册'
finally:
sorryname[__sorry]=sorry
sorryname.close()
if __name__ == "__main__":    
#userfile = shelve.open('loginname.dat')
#users = {'fuzhentao':'123456','zhangsan':'456789','lisi':'147852'}
#userfile[__users]=users
#userfile.close()
'''sorryname = shelve.open(__sorryname)
sorryuser={}
sorryname[__sorry]=sorryuser
sorryname.close()'''
while True:
sorryname = shelve.open(__sorryname)
sorry = sorryname[__sorry]
name = input('请输入用户名:')
passwd = input('请输入密码:')
if name in sorry and sorry[name]>=3:
print("账号被锁定")
else:
print(login(name,passwd))

转载于:https://www.cnblogs.com/fuzhentao/p/7395576.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值