侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Python实现注册、登录小程序功能

Python  /  管理员 发布于 7年前   195

主要实现功能

1、用户输入用户名,在用户名文件中查找对应的用户,若无对应用户名则打印输入错误

2、用户名输入正确后,进行密码匹配。输入密码正确则登录成功,否则重新输入。
3、连续输错三次密码则该用户名被锁,退出程序

--------------------------------------------------

在程序文件夹下建立一个用户名、密码的文件 :user_np.txt和一个用于存放被锁用户名的文件:lock.txt

--------------------------------------------------

#setencoding=utf-8import os,sys#将用户名文件内容读取到内存中user = open('user_np.txt')account_list = user.readlines()user.closeloginSucess = 0       #控制while循环退出lock_n = False    #判断用户输入的用户名是否被锁的标志位while True:  username = input('please input username:').strip()    #strip()函数是忽略空格   if len(username) == 0:    print('输入用户名不能为空')    continue  else :    print('输入用户名不为空')    l = open('lock.txt')    l_list = l.readlines()    l.close()    print(l_list)    for j in l_list:      j = j.strip('\n')      if username == j:        print('该用户已经锁定,请输入其他用户名')        lock_n = True        del j          #删除变量j        break      else:        continue    if lock_n is True:      lock_n = False      continue    else:      lock_n = False      for i in account_list:        i = i.split() #split()函数是对括号中的符号进行切割         if username == i[0]:          for x in range(3):          password = input('please input password:').strip()          if password == i[1]:            loginSucess = 2            break          else:            print('The password is error')          #匹配正确或者遇到break程序就跳出循环体下面语句不执行         else:       #输入超过三次,将用户名写入锁文件并打印出来           print('%s ,input password is beyond three times,going to lock'%username)          l = open('lock.txt','a')          l.write(username+'\n')      #将要锁的用户名写入锁文件并且换行           l.close()          view = open('lock.txt')      #打开锁文件           print(view.read())          #打印锁文件的内容,方便自己做调试           loginSucess = 1    if loginSucess ==2:           print('sucess info')      break    elif loginSucess ==1:      print('用户名被锁,请重新输入')    else:      print('输入错误')

下面通过代码看下python实现注册登录小程序

用python 实现模拟注册和登录的程序:用户信息最终以字典的格式储存在一个txt文件里,具体实现如下:

users.txt里用户字典格式如下:

 {   'name': {'password': '111111', 'role': '1'},   'name2': {'password': '222222', 'role': '1'},      'name3': {'password': '222222', 'role': '1'} } # 注册 f = open('users.txt', 'a+', encoding='utf-8') f.seek(0) user_info = eval(f.read())# 字符串转字典 i =0 while i<3:   i += 1   uname = input("请输入用户名:").strip()   upass = input("请输入密码:").strip()   passC = input("请确认密码:").strip()   if not uname or not upass or not passC:     print("注册失败,用户名或密码不能为空")     continue   if upass != passC:     print("注册失败,两次输入密码不一致")     continue   if uname in user_info:     print("注册失败,用户名已存在")     continue   print("恭喜你,注册成功!")   user_info[uname] ={'password':upass,'role':'1'}   f.seek(0)   f.truncate()   f.write(str(user_info)) else:   print("sorry,register over 3 times bye-bye!") f.close() # 登录 fr = open('users.txt', 'r') fr.seek(0) user_info = eval(fr.read()) j = 0 while j<3:   j +=1   uname = input("请输入用户名:\n").strip()   upass = input("请输入密码:\n").strip()   if not uname:     print("用户名不能为空")     continue   if not upass:     print("密码不能为空")     continue   if uname not in user_info:     print("用户名不存在")     continue   if upass != user_info[uname]['password']:     print("密码错误")     continue   print("恭喜你,登录成功!") else:   print("sorry! login over 3 times bye-bye! ") f.close()

运行结果:

总结

以上所述是小编给大家介绍的Python实现登录、注册小程序功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!


  • 上一条:
    python3实现爬取淘宝美食代码分享
    下一条:
    用于业余项目的8个优秀Python库
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在go语言中实现字符串可逆性压缩及解压缩功能(0个评论)
    • 使用go + gin + jwt + qrcode实现网站生成登录二维码在app中扫码登录功能(0个评论)
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客