Python基础练习之用户登录实现代码分享


Posted in Python onNovember 08, 2017

python版本为python3.5

1.要求

1)输入用户名密码
2)认证成功后显示欢迎信息
3)输错三次后锁定

2.需求分析

1)用户信息存储在文件中(login/config/user_login.txt)
2)用户输入用户名和密码
3)判断用户名是否存在,存在则继续,不存在则提示继续输入
4)判断输入的用户名是否已经被锁定,如果已锁定则退出程序,否则继续
5)匹配文件中的用户信息
6)如果匹配则打印出欢迎信息
7)如果输入3次密码错误,则锁定该用户名(login/config/name_lock.txt)

3.测试用户

bigberg:123abc
lc:123456
smallberg:111111
root:12345
dinasor:12321

# -*- coding: UTF-8 -*-
#Author:Bigberg
#定义一个循环计数
count = 0
#定义一个字典存储用户名和密码
names={}
#定义一个列表存储用户名
name_exit = []
#输入用户名
username = input("username:")
#判断输入的用户的用户是否在用户名单中
with open("../config/name_login.txt",'r') as f:
  while True:
    line = f.readline().strip()
    if not line:
      break
    else:
      name = line.split(':')[0]
      passwd = line.split(':')[1]
      names[name] = passwd
for key in names:
  name_exit.append(key)
#判断用户名是否正确,不正确则继续输入
while username not in name_exit:
  print("The account is not exit.Check it again.")
  username = input("username:")
else:
  # 读取锁定文件中的内容
  with open("../config/name_lock.txt", "r") as f:
    lock_name = f.read()
  # 判断用户名是否在锁定文件中,如果在就退出程序
  if username == lock_name:
    print("Sorry.Your account has been locked.")
    exit()
  else:
    # 3次输入密码的机会
    while count < 3:
      passwd_input = input("password:")
      # 判断用户名和密码是否有效
      if passwd_input == names[username]:
        print("Welcome!", username)
        break
      else:
        print("Error,please try again.")
      count += 1
      # 如果3次输入密码错误,则将用户名添加到锁定文件
      if count == 3:
        with open("../config/name_lock.txt", "w") as f:
          f.write("%s" % username)
        print("You have tried 3 times,and your account will be locked")

总结

以上就是本文关于Python基础练习之用户登录实现代码分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Python入门之三角函数全解【收藏】、python好玩的项目—色情图片识别代码分享、Python实现一个简单的验证码程序等,有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!

Python 相关文章推荐
python创建和使用字典实例详解
Nov 01 Python
Python设计模式之观察者模式实例
Apr 26 Python
Python使用PyGreSQL操作PostgreSQL数据库教程
Jul 30 Python
python检测远程端口是否打开的方法
Mar 14 Python
python获取外网ip地址的方法总结
Jul 02 Python
python的else子句使用指南
Feb 27 Python
python的dataframe和matrix的互换方法
Apr 11 Python
Python列表解析配合if else的方法
Jun 23 Python
python多进程使用及线程池的使用方法代码详解
Oct 24 Python
基于Python检测动态物体颜色过程解析
Dec 04 Python
python实现在内存中读写str和二进制数据代码
Apr 24 Python
简单的命令查看安装的python版本号
Aug 28 Python
python实现简单中文词频统计示例
Nov 08 #Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
Nov 08 #Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
Nov 08 #Python
Python入门之三角函数全解【收藏】
Nov 08 #Python
Python入门之三角函数tan()函数实例详解
Nov 08 #Python
Python入门之三角函数sin()函数实例详解
Nov 08 #Python
Python入门之三角函数atan2()函数详解
Nov 08 #Python
You might like
实例介绍PHP的Reflection反射机制
2014/08/05 PHP
PHP实现的方程求解示例分析
2016/11/11 PHP
使用vs code编辑调试php配置的方法
2019/01/29 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
2020/04/26 PHP
jquery 批量上传图片实现代码
2010/01/28 Javascript
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
Android中资源文件(非代码部分)的使用概览
2012/12/18 Javascript
Jquery遍历节点的方法小集
2014/01/22 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
jquery模拟多级复选框效果的简单实例
2016/06/08 Javascript
详谈$.data()的用法和作用
2017/02/13 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
2019/12/10 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
Python内置函数Type()函数一个有趣的用法
2015/02/18 Python
python爬虫自动创建文件夹的功能
2018/08/01 Python
用scikit-learn和pandas学习线性回归的方法
2019/06/21 Python
python输出电脑上所有的串口名的方法
2019/07/02 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
2020/02/26 Python
澳大利亚个性化儿童礼品网站:Bright Star Kids
2019/06/14 全球购物
反对四风自我剖析材料
2014/10/07 职场文书
走群众路线剖析材料
2014/10/09 职场文书
学校党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
财务工作失误检讨书
2015/02/19 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书
2019关于实习生工作安排及待遇的管理方案!
2019/07/16 职场文书
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
2021/09/25 Java/Android
一文带你探究MySQL中的NULL
2021/11/11 MySQL
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python