python学习-python入门
开始学习python,开始记录。
第一个小程序:登陆系统
功能:1、通过文件名和密码导入用户名和密码~
2、用户输入用户名和密码
3、将用户输入的用户名进行比对,先判断用户名是否在黑名单里面,如果在黑名单里面就直接退出;如果不在黑名单里面就继续输入密码,然后将用户名和密码与正确的用户名密码匹配,匹配通过则显示登陆成功,匹配失败则提示重新输入密码,密码输入错误三次退出系统,锁定用户名,加入黑名单。
用到的知识点:1、文件读写操作。纪要:打开文件,只读用r,打开读且写入内容,用w+或者r+,w+是追加写,但是每次重新打开都会覆盖原来文件的内容。r+是直接在原来的文件 内容后面追加。
2、列表基本知识,字典基本知识
3、导入模块,是输入的密码不可见
源码:
#Author:qcg
import getpass
info = open('/home/me/python-study/20170913/info.txt','r') #导入用户名密码
Blanklist=open('/home/me/python-study/20170913/blanklist.csv','r+')
#username = input("please input username:")
#passwd = input("please input your passqord:")
#创建用户名密码字典
for line in info:
user_list=line.split(',')
i=0
dic_usr={}
while i<len(user_list)/2 -1:
dic_usr[user_list[(2*i)]]=user_list[(2*i+1)]
i+=1
#print (dic_usr)
username = input("please input username:")
for line in Blanklist:
# print (line)
if username in line:
print("sorry,you are forbidden to logn in")
break
count = 0
while count<3:
#passwd = input("please input your password:")
passwd = getpass.getpass("please input your password:")
if username in dic_usr and dic_usr[username]==passwd: #判断用户名是否在黑名单中,若不在则匹配用户名密码~
print("welcome to logn in")
break
else:
print("please try again~~~")
count+=1
else:
print ("you have try too manay times,byebye")
Blanklist.write(username)
Blanklist.write(',')
Blanklist.close()
info.close()
运行结果:
[root@lmdx6688 20170914]# python3.5 lognin5.py
please input username:123
please input your password:
please try again~~~
please input your password:
please try again~~~
please input your password:
please try again~~~
you have try too manay times,byebye
[root@lmdx6688 20170914]# python3.5 lognin5.py
please input username:qcg
please input your password:
welcome to logn in
最新文章
- axis2+struts拦截地址冲突问题
- windows防火墙命令
- MATLAB 绘图时的相关心得
- Atitit 迭代法&#160;&#160;“二分法”和“牛顿迭代法&#160;attilax总结
- HTML5自学笔记[ 7 ]defer和async
- 读写锁ReadWriteLock和缓存实例
- 如何恢复oracle中已删除的表
- Scut AccountServer
- SaaS是个不错的生意模式和创业的选择(独立SAAS厂商的三大优势)
- 【转】android 开发 命名规范
- Font Rending 的 Hint 机制对排版的影响
- 关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
- JAVA程序生成XML标准化的文件格式,缩进,美化。
- 大数据工具篇之Hive与HBase整合完整教程
- RSA算法原理——(2)RSA简介及基础数论知识
- 如何在宿主机上执行容器里的jmap,jtack,jstat 命令获取信息(原创)
- SpringCloud-day08-Hystrix断路器
- idea实用插件
- c#操作数据库的增删改查语句及DataGridView简单使用
- 2.26 js解决click失效问题