python-用户登录小程序
算是第一篇博客吧~哈哈哈
虽然说是为了完成作业,不过以后估计会常来分享。首先说一下下边这个程序的基本功能。毕竟是第一次写python程序还是有点小激动和满满的成就感的,下边这个程序:
1.输入不存在的用户,直接退出程序
2.尝试密码三次不对,退出and加入黑名单
3.下次在输入已经加入黑名单的用户名直接退出。
具体的内容就是上边这个了。大神们估计会觉得简单。而我写了整整一天心塞塞。不过总归写出来了。下边上代码。
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
#2016-12-08 frist homework
import getpass #导入密文密码模块
user = {"jingjing":"jingjing314","list":"list314","tvm":"tvmining"} #定义可登录的用户和对应的密码
f = open("user.txt") #打开一个文件
line = f.readline() #调用文件的readline()方法
count = 0 #定义初始count值
while count < 3:
name = input("please enter you username:")
passwd = getpass.getpass("please enter you passwold:")
user.get(name,-1) #判断用户输入的name是否在user这个dict中。后边的-1,为自己定义的当这个name变量不存在的时候,返回类型值
if (user.get(name,-1)) == -1: #做判断如果等于说明这个用户不在用户组里面
print("error username") #直接退出程序
break
while line: #这个就是相当于是写死循环的感觉,当这个有值的时候。就是成立的
if name in line: #如果这个用户输入的名字在白名单里
print("{_name} is error".format(_name=name))
count +=3 #count值+3的目的是为了不让继续输入了,相当于是默认你是攻击者
line = f.readline() #在读这个文件
f.close()
if count <3: #同理再看这里,如果上边不满足while和上边的if会执行这里。
list = user[name] #list相当于是user的value,也就是密码。
if passwd == list: #
print("Wellcome here")
break
else:
print("passwd is error,Please re-enter")
count +=1
if count == 3: #循环三次相当于在count=3的时候
f = open("user.txt","a+") #打开这个文件a+相当于追加。w是覆盖
f.writelines(name) #把用户输入的name放到这个文件里
f.writelines("\n") #为了让每次都自动换行,在追加一个换行符
f.close() #为了确保每次文件都自动关闭
else:
break #这里来了。这里为什么有break,是在第二层while中如果用户名在白名单里,要退出的。这里就是为了退出第二曾循环,而第一层循环由于count大于3自动退出
2016-12-08
python-用户登录小程序的更多相关文章
- python之登录小程序
# 登录操作 PassWord_list = [] Reset_pw = '*#*#' def account_login(): if PassWord_list == []: PassWord = ...
- 微信小程序开发:python+sanic 实现小程序登录注册
开发微信小程序时,接入小程序的授权登录可以快速实现用户注册登录的步骤,是快速建立用户体系的重要一步.这篇文章将介绍 python + sanic + 微信小程序实现用户快速注册登录全栈方案. 微信小程 ...
- JSP小例子——实现用户登录小例子(不涉及DB操作)
实现用户登录小例子用户名和密码都为"admin",登陆成功使用服务器内部转发到login_success.jsp页面,并且提示登陆成功的用户名.如果登陆失败则请求重定向到login ...
- 【Python精华】100个Python练手小程序
100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同 ...
- 整理了适合新手的20个Python练手小程序
100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. 本文附带基础视频教程:私信回复[基础]就可以获取的 [程序1] ...
- 利用python实现微信小程序游戏跳一跳详细教程
利用python实现微信小程序游戏跳一跳详细教程 1 先安装python 然后再安装pip <a href="http://newmiracle.cn/wp-content/uploa ...
- Python 实现微信小程序的用户登录
小程序可以通过官方提供的登录能力来获取用户身份的标示,具体文档可以参考 这里,通过流程时序可以看到,对于需要和前端配合的服务端开发,主要实现的就是通过小程序提供的 code 换取用户的 openid ...
- python实现注册登录小程序
用python 实现模拟注册和登录的程序:用户信息最终以字典的格式储存在一个txt文件里,具体实现如下: users.txt里用户字典格式如下: { '}, '}, '} } # 注册 f = ope ...
- Python编写购物小程序
购物车要求: 用户名和密码存放于文件中 启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够 ...
- ADO.NET学习系列(四)---窗体版的登录小程序
1.需求分析:做一个登录的小程序,基于Winform的窗体小程序.基本要求:登录成功:弹框显示登录成功,登录失败就弹框显示失败. 扩展功能:登录次数超过3次,就”锁定“用户,提示登录错误次数过多,不能 ...
随机推荐
- SGU 106.Index of super-prime
时间限制:0.25s 空间限制:4M 题目大意: 在从下标1开始素数表里,下标为素数的素数,称为超级素数(Super-prime),给出一个n(n<=10000) ...
- visualSVN server库迁移(转)
转自:http://blog.csdn.net/yuhuijun_1/article/details/9762683 首先,VisualSVN Server Manager,包含两个路径,一个是安装路 ...
- 页面插入Flash方式
法一 <!-- 播放Flash动画代码 --> <div class="logoFlash"> <object classid="clsid ...
- EasyUI 1.3之前DataGrid中动态选中、获取Checkbox
这几天做项目,由于项目中用到的EasyUI版本过低,不能使用自带操作DataGrid中CheckBox的方法. 所以自己写了一个临时方案: 根据ID集合选中所属行的CheckBox: data={1, ...
- codevs 4163 hzwer与逆序对
传送门 题目描述 Description hzwer在研究逆序对. 对于数列{a},如果有序数对(I,j)满足:i<j,a[i]>a[j],则(i,j)是一对逆序对. 给定一个数列{a}, ...
- 解决方案-Microsoft Visual Studio 2012 已停止工作
问题: 根本解决方案: 用管理员模式运行. 找到软件的安装目录 \Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe 然后如何保存管理员权限运行呢? ...
- 董的博客 hadoop
董的博客 https://issues.apache.org/jira/browse/MAPREDUCE 很重要,把MAPREDUCE改为YARN即可 直接下载patch即可 http://horto ...
- codeforces C. Booking System
题意:有n组客人,分别告诉每一组的个数和花费,然后给你餐厅内k个桌子,每个桌子的最大容纳人数,如何安排使得餐厅最大收益并且容纳人数尽可能大: 思路:贪心,对花费排序,然后对每一组客人找桌子就可以. # ...
- codeforces D.Mashmokh and ACM
题意:给你n和k,然后找出b1, b2, ..., bl(1 ≤ b1 ≤ b2 ≤ ... ≤ bl ≤ n),并且对所有的bi+1%bi==0,问有多少这样的序列? 思路:dp[i][j] 表示长 ...
- iostat 使用说明
LINUX [oracle@perass back]$ iostat -m 1 10 Linux 2.6.18-194.el5 (perass) 03/01/2014 avg-cpu: %user % ...