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的类方法和静态方法
Dec 13 Python
Windows下python2.7.8安装图文教程
May 26 Python
python基础练习之几个简单的游戏
Nov 10 Python
DataFrame中去除指定列为空的行方法
Apr 08 Python
python实现广度优先搜索过程解析
Oct 19 Python
Django实现CAS+OAuth2的方法示例
Oct 30 Python
Pytorch实现各种2d卷积示例
Dec 30 Python
用python实现名片管理系统
Jun 18 Python
利用scikitlearn画ROC曲线实例
Jul 02 Python
浅谈Python3中print函数的换行
Aug 05 Python
django跳转页面传参的实现
Sep 17 Python
常用的Python代码调试工具总结
Jun 23 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
PHP 彩色文字实现代码
2009/06/29 PHP
php操作JSON格式数据的实现代码
2011/12/24 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
2019/12/13 PHP
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
js hover 定时器(实例代码)
2013/11/12 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
浅谈JavaScript函数的四种存在形态
2016/06/08 Javascript
js仿微信语音播放实现思路
2016/12/12 Javascript
如何解决hover在ie6中的兼容性问题
2016/12/15 Javascript
JQuery Ajax 异步操作之动态添加节点功能
2017/05/24 jQuery
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
2019/04/08 Javascript
深入浅析nuxt.js基于ssh的vue通用框架
2019/05/21 Javascript
基于javascript实现日历功能原理及代码实例
2020/05/07 Javascript
python中字符串前面加r的作用
2015/06/04 Python
pygame加载中文名mp3文件出现error
2017/03/31 Python
使用Eclipse如何开发python脚本
2018/04/11 Python
详解PyCharm配置Anaconda的艰难心路历程
2018/08/13 Python
对Pycharm创建py文件时自定义头部模板的方法详解
2019/02/12 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
详解Python GUI编程之PyQt5入门到实战
2020/12/10 Python
用python制作个视频下载器
2021/02/01 Python
js实现移动端H5页面手指滑动刻度尺功能
2017/11/16 HTML / CSS
Aerosoles爱柔仕官网:美国舒软女鞋品牌
2017/07/17 全球购物
公司财务自我评价分享
2013/12/17 职场文书
会计专业应届生自荐信
2014/02/07 职场文书
预备党员期盼十八届四中全会召开思想汇报
2014/10/17 职场文书
招标保密承诺书
2015/01/20 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
校长一岗双责责任书
2015/05/09 职场文书
2015年小学数学教研组工作总结
2015/05/21 职场文书
Python Matplotlib库实现画局部图
2021/11/17 Python
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏