您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python实现用户登录系统

5b51 2022/1/14 8:19:13 python 字数 5496 阅读 380 来源 www.jb51.cc/python

本文实例为大家分享了用户登录系统python实现代码,供大家参考,具体内容如下

概述

本文实例为大家分享用户登录系统python实现代码,供大家参考,具体内容如下
注意事项:
1、使用python3执行程序。按提示输入1或2,登录退出程序
2、输入用户名后,如果用户名被锁定及无效用户名,程序会退出,请确保输入正确。
3、输入用户名正确后,输入密码。用户名正确的情况下,密码连续输错三次,用户将被锁定,禁止登录系统

#!/usr/local/env python
#coding:utf-8
#Auto:Panwenbin
#function:
lock_file=open('file_lock.txt','r+')
user_pass=open('username_file.txt','r+')
count=0
cmd=input(''' 
1:登录系统 
2:退出系统 
请输入您的操作:''') 
if cmd.isdigit() and int(cmd)==2: 
exit() 
elif cmd.isdigit() and int(cmd)==1: 
  while count <3:#只要重试不超过3次就不断循环 
    username=input('请输入您的用户名:') 
    for i in lock_file.readlines(): #判断用户名是否在锁文件中 
      i=i.split() 
      if username in i[0]: 
        print('对不起 %s 已锁定'%username) 
        exit()
match = False 
    for j in user_pass.readlines(): 
      user,password = j.strip('\n').split() #去掉每行多余的\n并把这一行按空格分成两列,分别赋值为user,passwd两个变量 
      if username == user:   #判断输入的用户是否存在 
          passwd=input ('请输入密码:') 
          if password == passwd: 
             print ('用户名密码正确') 
             match = True 
             break

          elif password != passwd:#在用户名正确的前提下,判断输入的密码是否正确 
             for i in range(2): 
              passwd=input ('密码错误,请重新输入密码:') 
              if password == passwd: 
                 print ('用户名密码正确') 
                 match = True 
                 break

if username != user :#判断用户不存在 
      print('您输入用户名不存,程序已退出') 
      exit() 
    elif match == False :#如果match还为False,代表上面的循环中跟本就没有match上用户名和密码 
      print('密码和用户名不匹配,尝试超过三次,用户被锁定') 
      lock_file.write('%s \n'%username) 
      lock_file.close() 
      user_pass.close() 
      exit() 
    elif match==True: 
      print('登录成功') 
      break 
else: 
  print('无效选项,程序已退出')

以上就是本文的全部内容,希望对大家学习python程序设计有所帮助。

总结

以上是编程之家为你收集整理的python实现用户登录系统全部内容,希望文章能够帮你解决python实现用户登录系统所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶