python编辑用户登入界面的实现代码


Posted in Python onJuly 16, 2018

1.需求分析

登入界面需要达到以下要求:

  1. 系统要有登入和注册两个选项可供选择
  2. 系统要能够实现登入出错提示,比如账户密码错误等,用户信息保存在user_info.txt文件夹中
  3. 系统要能够进行登入错误次数统计并锁定,当用户输入3次错误时账户密码时,改账户被锁定,并将锁定账户保存于login_lock.txt文件夹中
  4. 注册界面要能够进行用户名重复提示,当用户注册账户已存在时,进行相应信息的提示。

1.代码实现

getNum = int(input("1.登入\n2.注册\nPlease Input the Choose :"))
while getNum<1 or getNum>2:
  getNum =int(input("无效值 :"))
username = input("用户名: ")
password = input("密码: ")
if getNum == 1:#登入
  ErrNums = 0
  while ErrNums<3:
    T = False
    fp = open('login_lock.txt','r')#打开锁定文件查看输入的账户是否被锁定
    lines = fp.readlines()#读取所有行
    while T== False:
      for line in lines:
        if line.split(',')[0] == username:
          print("帐号已被锁定 !")
          username = input("用户名: ")
          password = input("密码: ")
          break
      T=True
    fp.close()
    T = False
    fp_user = open('user_info.txt','r')#打开用户信息文件:
    lines = fp_user.readlines()
    for line in lines:
      if line.split(',')[0] == username:
        if line.split(',')[1] == password+'\n'or line.split(',')[1] == password:
          print("登入成功 !")
          T = True
          break
    fp_user.close()
    if T == False:#登入失败了
      ErrNums += 1
      if ErrNums >= 3:
        fp_user = open('login_lock.txt','a')
        print("账户已被锁定 !")
        fp_user.write('\n'+username)
        fp_user.close()
        break
      print("账户名或密码错误 !")
      username = input("用户名: ")
      password = input("密码: ")
    else:
      break
elif getNum == 2:#注册
  fp= open('user_info.txt','r')#打开用户信息文件:
  T = False
  lines = fp.readlines() # 读取所有行
  while T == False:
    for line in lines:
      if line.split(',')[0] == username:
        print("帐号已存在,请重新输入 !")
        username = input("用户名: ")
        password = input("密码: ")
        break
      T = True
  fp.close()
  fp = open('user_info.txt', 'a') # 打开用户信息文件:
  fp.write(username+','+password+'\n')
  print("注册成功 !")

user_info.txt文件的内容如下图:

python编辑用户登入界面的实现代码

代码的重要部分都有注解,txt文件的创建目前存放与工程目录中,使用相对路径方便调用,如不在该文件夹中则代码中的路径需要改成绝对路径,否则程序运行后会有问题。代码中仍有不完善的地方,忘有经验的朋友给句指出与探讨。

总结

以上所述是小编给大家介绍的python编辑用户登入界面的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
跟老齐学Python之用Python计算
Sep 12 Python
Python基于回溯法子集树模板解决全排列问题示例
Sep 07 Python
Flask框架通过Flask_login实现用户登录功能示例
Jul 17 Python
Windows下将Python文件打包成.EXE可执行文件的方法
Aug 03 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
Dec 31 Python
对numpy下的轴交换transpose和swapaxes的示例解读
Jun 26 Python
django之静态文件 django 2.0 在网页中显示图片的例子
Jul 28 Python
Python文字截图识别OCR工具实例解析
Mar 05 Python
使用Keras预训练模型ResNet50进行图像分类方式
May 23 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
Jan 07 Python
golang中的空接口使用详解
Mar 30 Python
能让Python提速超40倍的神器Cython详解
Jun 24 Python
python 反向输出字符串的方法
Jul 16 #Python
解决python3 urllib 链接中有中文的问题
Jul 16 #Python
如何用Python实现简单的Markdown转换器
Jul 16 #Python
详解python里的命名规范
Jul 16 #Python
Python 2.7中文显示与处理方法
Jul 16 #Python
Python定时任务sched模块用法示例
Jul 16 #Python
python中使用print输出中文的方法
Jul 16 #Python
You might like
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
2013/07/01 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
javascript在事件监听方面的兼容性小结
2010/04/07 Javascript
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
用js替换除数字与逗号以外的所有字符的代码
2014/06/07 Javascript
Javascript判断图片尺寸大小实例分析
2014/06/16 Javascript
JavaScript的内存释放问题详解
2015/01/21 Javascript
jQuery多级手风琴菜单实例讲解
2015/10/22 Javascript
JavaScript学习总结之JS、AJAX应用
2016/01/29 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
2016/05/15 Javascript
如何在Angular.JS中接收并下载PDF
2016/11/26 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
2017/04/25 Javascript
jquery网页加载进度条的实现
2017/06/01 jQuery
VSCode配置react开发环境的步骤
2017/12/27 Javascript
Vuex 使用 v-model 配合 state的方法
2018/11/13 Javascript
微信小程序—setTimeOut定时器的问题及解决
2019/07/26 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
Python操作列表之List.insert()方法的使用
2015/05/20 Python
详解python的数字类型变量与其方法
2016/11/20 Python
django创建自定义模板处理器的实例详解
2017/08/14 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
StubHub智利:购买和出售您的门票
2016/11/23 全球购物
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
vue 中 get / delete 传递数组参数方法
2021/03/23 Vue.js
laravel使用redis队列实例讲解
2021/03/23 PHP
网上蛋糕店创业计划书
2014/01/24 职场文书
小学生暑假感言
2014/02/06 职场文书
公务员培的训心得体会
2014/09/01 职场文书
大学感恩节活动策划方案
2014/10/11 职场文书
2014年文秘工作总结
2014/11/25 职场文书
班主任工作总结范文
2015/08/13 职场文书
Win11如何查看显卡型号 Win11查看显卡型号的方法
2022/08/14 数码科技
httpclient调用远程接口的方法
2022/08/14 Java/Android