码迷,mamicode.com
首页 > 其他好文 > 详细

day1作业--登录入口

时间:2016-08-17 00:06:16      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

作业概述:

编写一个登录入口,实现如下功能:

(1)输入用户名和密码

(2)认证成功后显示欢迎信息

(3)输错三次后锁定

 

流程图:

技术分享

readme:

1、程序配置文件:
黑名单文件blacklist.txt(可以存在,可以不存在)
白名单文件whitelist.txt存在,内容如下:
zhangsan,1234
wang,1234
ding,1234

2、输入密码的时候不显示

代码:
技术分享
 1 #coding=utf-8
 2 import os
 3 import getpass
 4 
 5 BlackListFileName = E:\\python3.5_study\\s13\\day1\\login\\blacklist.txt  #存放黑名单
 6 WhiteListFileName = E:\\python3.5_study\\s13\\day1\\login\\whitelist.txt  #存放白名单
 7 ErrorNum = 0   #记录错误次数
 8 BlackFlag = False  #遍历黑名单的标志位
 9 WhiteFlag = False    #遍历白名单的标志位
10 WhiteNameList = []   #存放白名单中所有的用户名字
11 
12 print (‘‘‘
13 *********************
14       登录入口
15 *********************
16 ‘‘‘)
17 
18 #判断黑名单文件是否存在
19 FileExistBool = os.path.exists(BlackListFileName)
20 if FileExistBool == False:
21     BlackF=open(BlackListFileName,w)  #创建存放黑名单的文件
22     BlackF.close()
23 
24 
25 UserName = input("请输入用户名:")
26 PassWord = getpass.getpass("请输入密码:")
27 
28 #判断用户是否在黑名单中
29 BlackF=open(BlackListFileName,r)  #读取方式打开黑名单文件
30 BlackNameContent = BlackF.readlines()  #读取黑名单文件中所有内容,放入list中
31 for i in range(len(BlackNameContent)):
32     BlackName = BlackNameContent[i].strip().split(,)[0]
33     if UserName == BlackName:
34         print (%s用户被锁定 %(UserName))
35         BlackF.close()
36         BlackFlag = True
37         break
38 
39 if BlackFlag == False:  #BlackFlag==False说明UserName不在黑名单中
40     #判断用户名和密码是否正确
41     while 1:
42         WhiteF=open(WhiteListFileName,r)  #读取方式打开白名单文件
43         WhiteNameContent = WhiteF.readlines()  #读取白名单文件中所有内容,放入list中
44         for i in range(len(WhiteNameContent)):
45             Name = WhiteNameContent[i].strip().split(,)[0]
46             NamePassWord = WhiteNameContent[i].strip().split(,)[1]
47             WhiteNameList.append(Name)
48 
49             if UserName == Name and PassWord == NamePassWord:
50                 print (恭喜,登录成功)
51                 WhiteFlag = True
52                 break
53                 WhiteF.close()
54 
55         if UserName not in WhiteNameList:
56             print (%s用户不存在 %UserName)
57             break
58 
59         if WhiteFlag == True:  #登录成功,跳出while循环
60             break
61         else:
62             ErrorNum += 1   #用户名和密码错误的话错误次数+1
63             print (用户名或密码输入错误,第%d次 %ErrorNum)
64             print (ErrorNum:,ErrorNum)
65 
66             if ErrorNum < 3:
67                 UserName = input("请输入用户名:")
68                 PassWord = getpass.getpass("请输入密码:")
69             else:
70                 print (错误次数过多,用户被锁定)
71                 BlackF=open(BlackListFileName,a+)  #追加写黑名单文件
72                 BlackName = UserName+\n
73                 BlackF.write(BlackName)
74                 BlackF.close()
75                 break
View Code

 

day1作业--登录入口

标签:

原文地址:http://www.cnblogs.com/Sophia-sugar/p/5778210.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!