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 相关文章推荐
py中的目录与文件判别代码
Jul 16 Python
可用于监控 mysql Master Slave 状态的python代码
Feb 10 Python
python检测服务器是否正常
Feb 16 Python
Python实现Windows上气泡提醒效果的方法
Jun 03 Python
python学习之编写查询ip程序
Feb 27 Python
Python中使用支持向量机SVM实践
Dec 27 Python
.dcm格式文件软件读取及python处理详解
Jan 16 Python
Python3 Click模块的使用方法详解
Feb 12 Python
Python图像处理库PIL的ImageDraw模块介绍详解
Feb 26 Python
django 装饰器 检测登录状态操作
Jul 02 Python
Python 连接 MySQL 的几种方法
Sep 09 Python
解决TensorFlow训练模型及保存数量限制的问题
Mar 03 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
php获取网页内容方法总结
2008/12/04 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
2011/07/03 PHP
用Simple Excel导出xls实现方法
2012/12/06 PHP
PHP类继承 extends使用介绍
2014/01/14 PHP
php简单实现发送带附件的邮件
2015/06/10 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
javascript中的location用法简单介绍
2007/03/07 Javascript
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
jquery中prop()方法和attr()方法的区别浅析
2013/09/06 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
2015/09/27 Javascript
JavaScript常用函数工具集:lao-utils
2016/03/01 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
js实现手机发送验证码功能
2017/03/13 Javascript
Django+Vue.js搭建前后端分离项目的示例
2017/08/07 Javascript
Vue项目引发的「过滤器」使用教程
2019/03/12 Javascript
Vue代码整洁之去重方法整理
2019/08/06 Javascript
pyshp创建shp点文件的方法
2018/12/31 Python
python利用ffmpeg进行录制屏幕的方法
2019/01/10 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
Python imread、newaxis用法详解
2019/11/04 Python
计算机专业自我鉴定
2013/10/15 职场文书
法学毕业生自我鉴定
2013/11/08 职场文书
教师网络培训感言
2014/03/09 职场文书
需求分析说明书
2014/05/09 职场文书
技能比武方案
2014/05/21 职场文书
社区春季防火方案
2014/06/02 职场文书
教师党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
学校党的群众路线教育实践活动总结材料
2014/10/30 职场文书
避暑山庄导游词
2015/02/04 职场文书
毕业论文答辩稿范文
2015/06/23 职场文书
迎新生晚会主持词
2015/06/30 职场文书
宿舍管理制度范本
2015/08/07 职场文书
部门主管竞聘书
2015/09/15 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang