首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python模拟登陆及个人经验(五)

Python模拟登陆及个人经验(五)

作者头像
py3study
发布2020-01-15 17:38:53
4710
发布2020-01-15 17:38:53
举报
文章被收录于专栏:python3python3

实验名称:模拟登陆

实验要求:

  1. 输入用户名密码
  2. 认证成功显示欢迎信息
  3. 输错三次锁定用户 思路:
  4. 用户输入username
  5. 判断username是否为真(文件)。
  6. 否:提示用户不存在;是:判断是否锁定(文件)
  7. 如果用户锁定提示:该用户已锁定;没锁定就输入密码
  8. 循环三次(判断密码是否正确)
  9. 密码超过三次不正确,就写入锁文件 流程图:
3f9b32d65712b0a8ed38ee85b603dd44.png-wh_
3f9b32d65712b0a8ed38ee85b603dd44.png-wh_

    代码实现:

#!/usr/bin/env python #Author:Li QW #加载sys模块 import sys

#指定文件路径,这里用的是绝对路径 user_word='C:/Users/Administrator/Desktop/open.txt'  #用户文件 close_word='C:/Users/Administrator/Desktop/close.txt' #锁用户文件 f=open(user_word,'r')  #打开文件 user_info=f.read() # 读取文件 f.close() #读取之后关闭文件 user_lis= user_info.split("#") #以井号作为分隔符 dict = {} #导入字典 for item in user_lis:  #赋给变量item     item_list=item.split(':') #以冒号作为分隔符     dict[item_list[0]]=item_list[-1]     count = 0 #计数器的作用 username = input("Input username:") #输入用户名 if username in dict:     l=open(close_word,'r')     black_info = l.read()     l.close()     black_list = black_info.split('#')     lock_dict = {} for items in black_list:         items_list = items.split(':')         lock_dict[items_list[0]]=items_list[-1] #这里注意,用-1 读最后一行,我之前写1 ,掉进坑里爬不起来了。写1,当文件为空时,它会读取不到这个参数就会报错。 if username in lock_dict: #如果在close.txt文件有这个用户,则提示该用户已锁! print("username close...")         sys.exit() #退出 else: while count <3: #输入次数小于三次继续循环             password = input("Input password:") #输入密码 if password == dict[username]: #判断密码是否正确 print("Welcome user login !")                 sys.exit() else:                 count +=1 #错误累加一次 (相当于count = count +1) if count ==3: #写错三次记录到close.txt文件中                     l=open(close_word,'a')                     l.write("#%s:%s"%(username,dict[username])) print("用户输错三次被锁定...")                     sys.exit() #退出 else: #提示还有几次机会 print('您还有%s次机会'%(3-count)) else: #用户不存在打印 print("NO usernames...")

附带报错内容:

f2c848760cbee0b07edaefd26e17d5b5.png-wh_
f2c848760cbee0b07edaefd26e17d5b5.png-wh_

心得体悟:

写代码容易,排错难!做事要尽可能的考虑周全。走过的坑多了,自然就会熟悉。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档