Python文件操作模拟用户登陆代码实例


Posted in Python onJune 09, 2020

题目要求

1、输入用户名和密码后回车

2、密码输入错误,给出提示,并选择是否重新输入

3、密码输入错误三次后,用户被锁定,无法继续登陆

构思

1、用户输入账号和密码后,需要判断账号是否存在

2、判断账号是否被禁用(错误次数大于三次)

3、判断账号密码是否正确

4、不同的错误给出不同的提示

5、每输入错一次,文档中的错误次数需要更新

6、如果三次以内用户登陆成功,密码原来的错误次数被重置

题目完成步骤

1、文档的编写

考虑到数据的存储问题,决定将账号、密码、错误次数进行分行存储,三行为一组用户信息

Python文件操作模拟用户登陆代码实例

2、代码编写

go = True
while go:
  # 用来判断账号是否存在
  no_existence_flag = True
  # 用来判断是否输入正确
  no_flag = True
  # 用来判断是否已经被封
  disable_flag = True
  # 用来判断次数是否已经超过限制
  account = input("account:")
  password = input("password:")
  # 判断账号是否存在(自己写入已存在用户的账号密码)
  file = open("C:/Users/Lenovo/Desktop/user.txt","r")
  # 用于拼接文本内容
  file_data = ""
  while True:
    line = file.readline()
    if not line:
      break
    file_data += line
    line_content = line.strip()
    # 判断是否存在账号
    if account == line_content:
      no_existence_flag = False
      true_password = file.readline()
      file_data += true_password
      true_password_content = true_password.strip()
      disable_flag_line = file.readline()
      disable_flag_num = int(disable_flag_line.strip())
      # 判断账号是否被禁用
      if disable_flag_num != 3:
        print("It is not disable!",disable_flag_num)
        disable_flag = False
        # 判断密码是否正确
        if password == true_password_content:
          no_flag = False
          print("Welcome in this system,{account}!".format(account = account))
          go = False
          disable_flag_line = disable_flag_line.replace(str(disable_flag_num),str(0))
          file_data += disable_flag_line
        else:
          disable_flag_line = disable_flag_line.replace(str(disable_flag_num),str(disable_flag_num+1))
          file_data += disable_flag_line
      else:
        file_data += file.readline()
    else:
      file_data += file.readline()
      file_data += file.readline()
  file.close()
  # 账号不存在的报错
  if no_existence_flag:
    print("This account is not existence!")
    print("Do you want to try it again......")
    flag = input("Please input you think:")
    if flag == "N":
      go = False
    continue
  # 账号被禁用的报错
  if disable_flag:
    print("You account is disable,please go home by youself!")
    print("Do you want to try it again......")
    flag = input("Please input you think:")
    if flag == "N":
      go = False
    continue
  # 账号密码错误的报错
  if no_flag:
    file = open("C:/Users/Lenovo/Desktop/user.txt","w")
    print(file_data)
    file.write(file_data)
    file.close()
    print("Your password is not right,please try it again!")
    print("Do you want to try it again......")
    flag = input("Please input you think:")
    if flag == "N":
      go = False
  # 重置输入次数
  else:
    file = open("C:/Users/Lenovo/Desktop/user.txt","w")
    print(file_data)
    file.write(file_data)
    file.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python pickle类库介绍(对象序列化和反序列化)
Nov 21 Python
Python使用PIL库实现验证码图片的方法
Mar 11 Python
python 寻找优化使成本函数最小的最优解的方法
Dec 28 Python
python使用jieba实现中文分词去停用词方法示例
Mar 11 Python
Python批量合并有合并单元格的Excel文件详解
Apr 05 Python
解决Python2.7读写文件中的中文乱码问题
Apr 12 Python
解决Python网页爬虫之中文乱码问题
May 11 Python
用Python实现读写锁的示例代码
Nov 05 Python
Django后端接收嵌套Json数据及解析详解
Jul 17 Python
简单了解Python读取大文件代码实例
Dec 18 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
Jan 18 Python
python语言time库和datetime库基本使用详解
Dec 25 Python
pyCharm 实现关闭代码检查
Jun 09 #Python
在pycharm中关掉ipython console/PyDev操作
Jun 09 #Python
python 元组的使用方法
Jun 09 #Python
解决pycharm中的run和debug失效无法点击运行
Jun 09 #Python
pyCharm 设置调试输出窗口中文显示方式(字符码转换)
Jun 09 #Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
Jun 09 #Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 #Python
You might like
用javascript获得地址栏参数的两种方法
2006/11/08 Javascript
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
jQuery检测输入的字符串包含的中英文的数量
2015/04/17 Javascript
jquery获得当前html页面源码的方法
2015/07/14 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
小程序图片长按识别功能的实现方法
2018/08/30 Javascript
Bootstrap 按钮样式与使用代码详解
2018/12/09 Javascript
解决vue的过渡动画无法正常实现问题
2019/10/31 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
python实现的jpg格式图片修复代码
2015/04/21 Python
python fabric实现远程部署
2017/01/05 Python
python测试mysql写入性能完整实例
2018/01/18 Python
Django 在iframe里跳转顶层url的例子
2019/08/21 Python
python使用socket实现的传输demo示例【基于TCP协议】
2019/09/24 Python
4行Python代码生成图像验证码(2种)
2020/04/07 Python
使用python处理题库表格并转化为word形式的实现
2020/04/14 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
python绘制分布折线图的示例
2020/09/24 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
酒店服务与管理毕业生求职信
2013/11/02 职场文书
学生宿舍管理制度
2014/01/30 职场文书
《巨人的花园》教学反思
2014/02/12 职场文书
网站客服岗位职责
2014/04/05 职场文书
5s标语大全
2014/06/23 职场文书
公司周年庆活动方案
2014/08/25 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
副校长个人对照检查材料思想汇报
2014/10/04 职场文书
五好文明家庭事迹材料
2014/12/20 职场文书
邀请函格式范文
2015/02/02 职场文书
关于做家务的心得体会
2016/01/23 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书
python实现调用摄像头并拍照发邮箱
2021/04/27 Python
PyQt5结合QtDesigner实现文本框读写操作
2021/06/11 Python