python——登陆接口设计(循环方法)

本文详细介绍了登录接口的设计与实现过程,包括流程图设计、关键文件内容解析及程序运行步骤说明。通过具体代码示例展示了如何进行用户验证、密码比对及错误处理等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近日重新整理了登陆接口设计程序,感觉以前的代码没有注释,让园子的其他童鞋读起来比较费劲。也没有流程图和程序运行说明。

1.流程图

 

2.user_file.txt&lock_file.txt文件内容

(1) user_file.txt

Abel 123
Bbel 1234
Cbel 123456

(2) lock_file.txt

Dbel

3.程序运行说明

(1)输入用户名,程序对比lock_file.txt。如果存在则提示该用户已经被锁定,退出程序。

(2)程序查找用户名是否在user_file.txt中,如果不在提示用户,并退出程序。

(3)用户输入密码,连续输入三次以内,密码正确。提示欢迎,并退出程序。

(4)密码连续输入错误3次,提示用户已经被锁定,并将用户名写入lock_file.txt中。退出程序。

4.程序代码

 1 import os
 2 
 3 user_file = open('use_file.txt', 'r')  # 打开user_file.txt
 4 user_list = user_file.readlines()  # 一次性将user_file.txt中的内容加载到内存中
 5 user_file.close()  # 关闭user_file.txt
 6 
 7 while True:
 8     lock_file = open('lock_file.txt', 'r+')  # 打开lock_file.txt
 9     lock_list = lock_file.readlines()  # 将lock_file.txt中的内容加载到内存中
10     lock_file.close()  # 关闭lock_file.txt
11 
12     login_Success = False  # 设置标记位,用于跳出循环
13     user_name = input('Please enter your name:'.strip())    # 输入用户名
14     for line1 in lock_list:
15         line1 = line1.split()   # 将lock_file.txt中的信息读取到line1中
16         if user_name == line1[0]:   # 如果用户名在line1中提示信息并退出整个程序
17             print("对不起!您的用户名已经被锁定,请联系网站管理员。")
18             exit()
19     for line2 in user_list:
20         line2 = line2.split()   # 将user_file.txt中的信息读取到line2中
21         if user_name == line2[0]:   # 如果用户名在line2中进入for循环(输入密码三次错误锁定)
22             for i in range(3):  # 计数器,记录密码输入错误次数
23                 password = input('Please enter your password'.strip())  # 输入密码
24                 if password == line2[1]:    # 如果password在line2[1]中,显示欢迎信息,并退出整个程序
25                     print("欢迎 %s 登陆Abel网站!" % user_name)
26                     login_Success = True
27                     break
28             else:   # 密码输入错误次数超过3次,将用户名写入lock_file.txt中
29                 f = open('lock_file.txt', 'a')
30                 f.write('%s\n' % user_name)
31                 f.close()
32                 print("连续输入3次错误密码,您的用户%s已经被锁定,请联系网站管理员。" % user_name)   # 提示用户已经锁定,并退出整个程序
33                 login_Success = True
34                 break
35             if login_Success:
36                 break
37         else:   # 用户名不在line2中,提示用户名不存在。并退出整个程序
38             print("您输入的用户名不存在,请重新输入或注册")
39             exit()
40     if login_Success:
41         break

 

转载于:https://www.cnblogs.com/ouyangyixuan/p/5861292.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值