python实现用户登录系统

作者:百衲本 时间:2023-10-13 13:17:22 

本文实例为大家分享了用户登录系统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,用户,登录
0
投稿

猜你喜欢

  • MYSQL5.7.9开启慢查询日志的技巧

    2024-01-18 08:47:52
  • 利用python对Excel中的特定数据提取并写入新表的方法

    2023-09-17 16:03:10
  • Python基于Floyd算法求解最短路径距离问题实例详解

    2022-05-23 09:45:47
  • Golang信号处理及如何实现进程的优雅退出详解

    2024-05-28 15:24:29
  • Django中使用Whoosh进行全文检索的方法

    2023-03-20 05:35:43
  • vue 打包后的文件部署到express服务器上的方法

    2024-05-09 09:33:05
  • asp如何用Access加密页面?

    2010-06-10 18:41:00
  • Python文件操作的方法

    2022-10-27 19:54:29
  • keras 多任务多loss实例

    2022-09-21 12:49:33
  • Python学习笔记之函数的参数和返回值的使用

    2021-12-01 19:06:39
  • Python不支持 i ++ 语法的原因解析

    2022-02-07 12:16:49
  • pandas ix &iloc &loc的区别

    2023-03-12 16:31:54
  • JavaScript中document.forms[0]与getElementByName区别

    2024-04-17 09:55:58
  • 有关div页面拖动、缩放、关闭、遮罩效果代码

    2024-04-10 10:45:34
  • Golang如何实现任意进制转换的方法示例

    2024-02-23 07:43:48
  • Go语言获取系统性能数据gopsutil库的操作

    2024-05-28 15:23:52
  • pytorch collate_fn的基础与应用教程

    2021-06-03 02:55:57
  • 语言化H1标签

    2008-01-11 13:54:00
  • Python新手们容易犯的几个错误总结

    2021-06-22 12:19:54
  • webpack下实现动态引入文件方法

    2024-06-08 16:28:49
  • asp之家 网络编程 m.aspxhome.com