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+Selenium自动化实现分页(pagination)处理
Mar 31 Python
对python 操作solr索引数据的实例详解
Dec 07 Python
谈一谈基于python的面向对象编程基础
May 21 Python
Pycharm 字体大小调整设置的方法实现
Sep 27 Python
详解python中docx库的安装过程
Nov 08 Python
Python实现Word表格转成Excel表格的示例代码
Apr 16 Python
python实现读取类别频数数据画水平条形图案例
Apr 24 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
May 22 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
Sep 01 Python
mac安装python3后使用pip和pip3的区别说明
Sep 01 Python
详解anaconda离线安装pytorchGPU版
Sep 08 Python
Opencv常见图像格式Data Type及代码实例
Nov 02 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实现删除空目录的方法
2015/03/16 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
js 未结束的字符串常量错误解决方法
2010/06/13 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
分享自己用JS做的扫雷小游戏
2016/02/17 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
jQuery选择器及jquery案例详解(必看)
2016/05/20 Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
2016/06/09 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
vue.js表格分页示例
2016/10/18 Javascript
JS高级运动实例分析
2016/12/20 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
2017/01/11 Javascript
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
2018/03/28 jQuery
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
vue实现div拖拽互换位置
2020/07/29 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
用Django实现一个可运行的区块链应用
2018/03/08 Python
python之mock模块基本使用方法详解
2019/06/27 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
Django 请求Request的具体使用方法
2019/11/11 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
2019/11/29 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
python分布式爬虫中消息队列知识点详解
2020/11/26 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
俄罗斯品牌服装和鞋子的在线商店:KUPIVIP
2019/10/27 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
班级活动策划书
2014/02/06 职场文书
幼儿园教师师德承诺书
2015/04/28 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书
Golang二维切片初始化的实现
2021/04/08 Golang
SpringBoot工程下使用OpenFeign的坑及解决
2021/07/02 Java/Android