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 相关文章推荐
ptyhon实现sitemap生成示例
Mar 30 Python
python简单实现基数排序算法
May 16 Python
分享Python开发中要注意的十个小贴士
Aug 30 Python
基于python的Tkinter编写登陆注册界面
Jun 30 Python
Python调用ctypes使用C函数printf的方法
Aug 23 Python
Python os.rename() 重命名目录和文件的示例
Oct 25 Python
python求加权平均值的实例(附纯python写法)
Aug 22 Python
Python jieba库用法及实例解析
Nov 04 Python
Pandas实现一列数据分隔为两列
May 18 Python
基于python SMTP实现自动发送邮件教程解析
Jun 02 Python
python实例化对象的具体方法
Jun 17 Python
python 实现体质指数BMI计算
May 26 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获取发送给用户的header信息的方法
2015/03/16 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
解决laravel session失效的问题
2019/10/14 PHP
解决Laravel无法使用COOKIE和SESSION的问题
2019/10/16 PHP
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
jQuery模拟超链接点击效果代码
2013/04/21 Javascript
JQuery中阻止事件冒泡几种方式及其区别介绍
2014/01/15 Javascript
jQuery设置与获取HTML,文本和值的简单实例
2014/02/26 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
javascript实现画不相交的圆
2015/04/07 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
jquery attr()设置和获取属性值实例教程
2016/09/25 Javascript
Bootstrap组件之下拉菜单,多级菜单及按钮布局方法实例
2017/05/25 Javascript
通过javascript实现段落的收缩与展开
2019/06/26 Javascript
小程序实现分类页
2019/07/12 Javascript
Js和VUE实现跑马灯效果
2020/05/25 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
Python人脸识别初探
2017/12/21 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
html5的pushstate以及监听浏览器返回事件的实现
2020/08/11 HTML / CSS
加拿大领先的冒险和户外零售商:Atmosphere
2017/12/19 全球购物
美国网上书店:Barnes & Noble
2018/08/15 全球购物
阿德的梦教学反思
2014/02/06 职场文书
秸秆管理实施方案
2014/03/15 职场文书
2015年银行工作总结范文
2015/04/01 职场文书
研究生论文答辩开场白
2015/05/27 职场文书
小学运动会报道稿
2015/07/22 职场文书
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
2021/04/01 PHP
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery
图解排序算法之希尔排序Java实现
2021/06/26 Java/Android
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL