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))
python 初学习 模拟用户登录的更多相关文章
- python用scrapy模拟用户登录
scrapy模拟登录 关注公众号"轻松学编程"了解更多. 注意:模拟登陆时,必须保证settings.py里的COOKIES_ENABLED(Cookies中间件) 处于开启状态 ...
- python小练习--模拟用户登录,(3次重试机会,登录成功展示登录账号密码)
知识点使用:1.格式化输出的两种方法---% .formate 2.while循环的使用,及跳出循环的两种方法---break(跳出循环体).continue(结束本次循环,继续下次循环) 3.if条 ...
- AngularJs学习——模拟用户登录的简单操作
效果截图:
- 模拟用户登录含注册——python第8天
print('欢迎登录尚雅梦想python学习系统'.center(30)) print('******' * 8) flag = True while flag: order = input(''' ...
- 用python连接数据库模拟用户登录
使用pycharm下载pymysql库,在终端输入命令: pip install mysql 使用pycharm写登入操作前需要在数据库内添加一些数据,比如用户名和密码 create database ...
- python初体验 ——>>> 模拟体育竞技
python初体验 ——>>> 模拟体育竞技 一.排球训练营 1. 简介: 模拟不同的两个队伍进行排球的模拟比赛. 2. 模拟原理: 通过输入各自的能力值(Ⅰ),模拟比赛的进行( P ...
- Redis缓存Mysql模拟用户登录Java实现实例[www]
Redis缓存Mysql模拟用户登录Java实现实例 https://jingyan.baidu.com/article/09ea3ede1dd0f0c0aede3938.html redis+mys ...
- Python初学习:简单的练习题
Python初学习 一些见到那的练习题: 初级难度 设计一重量转换器,输入以g为单位的数字后,返回换算结果以Kg为单位的结果 中级难度 设计一个求直角三角形斜边长的函数,(以两个直角边为参数,求最长边 ...
- 运用String类实现一个模拟用户登录程序
package Test; import java.util.Scanner; // 模拟用户登录程序 // 思路: // 1.用两个String类分别接收用户名和密码 // 2.判断输入的用户名和密 ...
随机推荐
- bash远程代码执行漏洞
博客园新闻:http://news.cnblogs.com/n/504506/(如果以下有说错的地方请不吝指出,谢谢~) 详情可围观上面的链接.因为我们的服务器都是私有网环境,即使要修复也得等到下次安 ...
- hdu2413(二分+二分匹配)
题意:人和外星人星球大战,人总共有H个星球,外星人有A个星球,现在人要用飞船去打外星人的飞船,要求每个人类星球只能对战一个外星球,且每个星球都开始有己知的飞船数,不论是人或外星人的星球,并每个星球都有 ...
- Vuejs——v-on
版权声明:出处http://blog.csdn.net/qq20004604 目录(?)[+] 资料来于官方文档: http://cn.vuejs.org/guide/events.html ...
- 小哈学Python第二课:Hello Word
Python入门 1.Hello World 2.Hello World
- tp框架表单验证 及ajax
之前的表单验证都是用js写的,这里也可以使用tp框架的验证.但是两者比较而言还是js验证比较好,因为tp框架验证会运行后台代码,这样运行速度和效率就会下降. 自动验证是ThinkPHP模型层提供的一种 ...
- 事务之使用JDBC进行事务的操作
本篇讲述数据库中非常重要的事务概念和如何使用MySQL命令行窗口来进行数据库的事务操作.下一篇会讲述如何使用JDBC进行数据库的事务操作. 事务是指数据库中的一组逻辑操作,这个操作的特点就是在该组逻辑 ...
- Memcache+cookie实现模拟session
上一片讲到Memcached在Windows上的安装,和用Telnet工具进行命令操作,在稍微了解了原理之后,我也就开始尝试着用程序来对Memcached进行操作.这一篇分为两个部分,第一部分是用.n ...
- Merge Two Sorted Lists & Remove Nth Node From End of List
1.合并两个排好序的list Merge Two Sorted Lists Merge two sorted linked lists and return it as a new list. The ...
- poj_3461: Oulipo
题目链接 基础KMP题,本文提供一段能AC并且便于调试以及查看next数组的代码. 参考博客 http://blog.csdn.net/v_july_v/article/details/7041827 ...
- 【SignalR学习系列】8. SignalR Hubs Api 详解(.Net C# 客户端)
建立一个 SignalR 连接 var hubConnection = new HubConnection("http://www.contoso.com/"); IHubProx ...