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 相关文章推荐
浅谈django中的认证与登录
Oct 31 Python
将python代码和注释分离的方法
Apr 21 Python
Python不使用int()函数把字符串转换为数字的方法
Jul 09 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
pip install python 快速安装模块的教程图解
Oct 08 Python
修改Pandas的行或列的名字(重命名)
Dec 18 Python
tensorflow实现二维平面模拟三维数据教程
Feb 11 Python
pyspark 随机森林的实现
Apr 24 Python
Python 中由 yield 实现异步操作
May 04 Python
Python中zipfile压缩文件模块的基本使用教程
Jun 14 Python
Python局部变量与全局变量区别原理解析
Jul 14 Python
Python入门基础之数字字符串与列表
Feb 01 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获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
2019/03/22 PHP
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
javascript匿名函数应用示例介绍
2014/03/07 Javascript
javascript实现画不相交的圆
2015/04/07 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
jquery mobile开发常见问题分析
2016/01/21 Javascript
Bootstrap富文本组件wysiwyg数据保存到mysql的方法
2016/05/09 Javascript
iScroll.js 使用方法参考
2016/05/16 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
基于iScroll实现下拉刷新和上滑加载效果
2017/07/18 Javascript
tween.js缓动补间动画算法示例
2018/02/13 Javascript
浅析Vue 和微信小程序的区别、比较
2018/08/03 Javascript
js实现继承的方法及优缺点总结
2019/05/08 Javascript
微信小程序纯文本实现@功能
2020/04/08 Javascript
Vant picker 多级联动操作
2020/11/02 Javascript
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
[55:03]LGD vs EG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
详解python中executemany和序列的使用方法
2017/08/12 Python
Python实现的自定义多线程多进程类示例
2018/03/23 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
PHP高级工程师面试问题推荐
2013/01/18 面试题
小学英语复习计划
2015/01/19 职场文书
戒赌保证书
2015/05/11 职场文书
2015年控辍保学工作总结
2015/05/18 职场文书
小学一年级班主任工作经验交流材料
2015/11/02 职场文书
Go语言基础切片的创建及初始化示例详解
2021/11/17 Golang
Android自定义scrollview实现回弹效果
2022/04/01 Java/Android
解决Mysql报错 Table 'mysql.user' doesn't exist
2022/05/06 MySQL
tomcat下部署jenkins的方法
2022/05/06 Servers
Java使用HttpClient实现文件下载
2022/08/14 Java/Android
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技