python模拟账号登录_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))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值