(转)python编写登录接口
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://506554897.blog.51cto.com/2823970/1907262
python编写登录接口
一、需求
编写登录接口:
1.输入用户名和密码登录
2.输错三次锁定账户
3.下次登录还是上次的账户,提示锁定,直接退出(用到文件读写)
4.成功 后显示登录成功
二、需求流程图
三、代码示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
例1: #!/bin/bash/env python #_*_ coding:utf-8 _*_ #python version:3.6 ''' 编写登录接口: 1.输入用户名和密码登录 2.输错三次锁定账户 3.下次登录还是上次的账户,提示锁定,直接退出(用到文件读写) 4.成功 后显示登录成功 ''' #lock定义为锁定文件 lock = "E:/Python_learn/day1/lock" #account定义为账户文件 account = "E:/Python_learn/day1/account" #计数器 count = 0 #标识器 flag = 1 #定义锁定用户列表为空 lock_user = [] #打开锁定文件,并读取锁定账户 f1 = open(lock, 'r' ) lock_file = f1.readlines() f1.close() #循环锁定账户,将账户追加到lock_user列表中 for i in lock_file: i = i.strip( '\n' ) lock_user.append(i) #打开账户文件,并读取用户和密码 f2 = open(account, 'r' ) account_file = f2.readlines() f2.close() while True: name = input( "input your name:" ) passwd = input( "input your password:" ) #如果输入的账户在锁定用户列表中,退出循环; if name in lock_user: print( "user is lock!" ) break else : #否则计数器加count+1 count += 1 #如果count大于2,也就是输错三次 if count > 2: print( "错误三次" ) #将账户添加到锁定账户中 with open(lock, 'a' ) as f: f.write( "\n" + name) break #如果count小于2, else : #循环输入的用户名和密码,是否和账户文件里边的一样 for i in account_file: n1,p1 = i.strip().split() if name == n1 and passwd == p1: print( "welcome login!!" ) #如果账户密码一样,flag标识为True flag = True #如果输入账户密码和文件存储的不一样,则跳出本次循环 else : #跳出本次循环 continue #如果flag标识为True,退出整个循环 if flag is True: break 例2: #!/bin/bash/env python #_*_ coding:utf-8 _*_ #python version:3.6 lock = "E:/Python_learn/day1/lock" account = "E:/Python_learn/day1/account" count = 0 flag = 1 lock_user = [] f1 = open(lock, 'r' ) lock_file = f1.readlines() f1.close() for i in lock_file: i = i.strip( '\n' ) lock_user.append(i) f2 = open(account, 'r' ) account_file = f2.readlines() f2.close() while True: name = input( "input your name:" ) passwd = input( "input your password:" ) if name in lock_user: print( "user is lock!" ) break else : count += 1 for i in account_file: n1, p1 = i.strip().split() if name == n1 and passwd == p1: print( "welcome login!!" ) flag = True else : continue if flag is True: break else : if count > 2: print( "错误三次" ) with open(lock, 'a' ) as f: f.write( "\n" + name) break |
本文出自 “506554897” 博客,请务必保留此出处http://506554897.blog.51cto.com/2823970/1907262
技术链接
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性