算是第一篇博客吧~哈哈哈

虽然说是为了完成作业,不过以后估计会常来分享。首先说一下下边这个程序的基本功能。毕竟是第一次写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-用户登录小程序的更多相关文章

  1. python之登录小程序

    # 登录操作 PassWord_list = [] Reset_pw = '*#*#' def account_login(): if PassWord_list == []: PassWord = ...

  2. 微信小程序开发:python+sanic 实现小程序登录注册

    开发微信小程序时,接入小程序的授权登录可以快速实现用户注册登录的步骤,是快速建立用户体系的重要一步.这篇文章将介绍 python + sanic + 微信小程序实现用户快速注册登录全栈方案. 微信小程 ...

  3. JSP小例子——实现用户登录小例子(不涉及DB操作)

    实现用户登录小例子用户名和密码都为"admin",登陆成功使用服务器内部转发到login_success.jsp页面,并且提示登陆成功的用户名.如果登陆失败则请求重定向到login ...

  4. 【Python精华】100个Python练手小程序

    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同 ...

  5. 整理了适合新手的20个Python练手小程序

    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. 本文附带基础视频教程:私信回复[基础]就可以获取的 [程序1] ...

  6. 利用python实现微信小程序游戏跳一跳详细教程

    利用python实现微信小程序游戏跳一跳详细教程 1 先安装python 然后再安装pip <a href="http://newmiracle.cn/wp-content/uploa ...

  7. Python 实现微信小程序的用户登录

    小程序可以通过官方提供的登录能力来获取用户身份的标示,具体文档可以参考 这里,通过流程时序可以看到,对于需要和前端配合的服务端开发,主要实现的就是通过小程序提供的 code 换取用户的 openid ...

  8. python实现注册登录小程序

    用python 实现模拟注册和登录的程序:用户信息最终以字典的格式储存在一个txt文件里,具体实现如下: users.txt里用户字典格式如下: { '}, '}, '} } # 注册 f = ope ...

  9. Python编写购物小程序

    购物车要求: 用户名和密码存放于文件中 启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够 ...

  10. ADO.NET学习系列(四)---窗体版的登录小程序

    1.需求分析:做一个登录的小程序,基于Winform的窗体小程序.基本要求:登录成功:弹框显示登录成功,登录失败就弹框显示失败. 扩展功能:登录次数超过3次,就”锁定“用户,提示登录错误次数过多,不能 ...

随机推荐

  1. hdoj 2049 错排

    代码: #include <stdio.h> int main(){ int n,a,b,i,j; __int64 s[22],h[22]; s[1]=0; s[2]=1; s[3]=2; ...

  2. CentOS Device eth0 does not seem to be present 解决方案

    1. vi /etc/udev/rules.d/70-persistent-net.rules 记录eth1 的网卡地址 2.vi /etc/sysconfig/network-scrpits/ifc ...

  3. C#,新建的系统服务项目有些机器不能运行

    检查了一下,是权限的问题 右键ProjectInstaller.cs 在设计界面里找到serviceProcessInstaller1右键属性 找到Account属性改为:LocalSystem

  4. Day12(补充) Python操作MySQL

    本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb ...

  5. 模块化编程AMD&CommonJS

    为什么要模块化编程 如果JS也可以像类似python,Java使用import,引入我们想要的模块,想要什么模块,就加载什么模块,可以给前端编程带来更多的便捷,结构更加清晰明了.但是,这样做有一个前提 ...

  6. Python面向对象OOP

    一 OOP     与C++和Java一样,Python同样具有OOP设计. 过程式:从前到后,一条一条,机器能接受的顺序性方式:方式大概为"首先你应该做什么,第二应该做什么,高级点的做点假 ...

  7. 2014年Facebook的开源成就

    2014是Facebook开源硕果丰硕的一年,其开源项目经理詹姆斯·皮尔斯(James Pearce)连续12天发布开源博客文章展示全年该社交网站在此领域取得的成就. 皮尔斯公布的成就包括以下内容: ...

  8. Java实现Qt的SIGNAL-SLOT机制

    SIGNAL-SLOT是Qt的一大特色,使用起来十分方便.在传统的AWT和Swing编程中,我们都是为要在 监听的对象上添加Listener监听器.被监听对象中保存有Listener的列表,当相关事件 ...

  9. VIM大作战之C++简易集成编译环境(Windows篇)

    一切都要从这篇文章说起 Vim 实在是精致独特得有点像个林妹妹.但谁要是希望家里也有个林妹妹,光把自家丫头照着绣像打扮打扮是不行的,必须从零开始养成一个.而且就算真能养出来个“天上掉下来”一般的可人儿 ...

  10. MFC中对话框的工具栏的使用

    1.新建一个MFC项目:在资源视图中新建Toolbar资源: 2.编辑状态栏: 3.在***Dlg.h文件中添加CToolBar类型或其派生类型的一个变量如:(CdlgToolBar myToolBa ...