老男孩Day1作业(一):编写登录接口

需求:编写登陆接口
1. 用户输入帐号密码进行登陆
2. 用户信息保存在文件内
3. 用户密码输入错误三次后锁定用户

1)编写思路

编写思路参考下面GitHub链接中的流程图

https://github.com/KongChan1988/51CTO-Treasure/blob/master/Python_Study/%E7%AC%AC%E4%B8%80%E6%A8%A1%E5%9D%97%E5%AD%A6%E4%B9%A0/Day01/HomeWork/%E7%BC%96%E5%86%99%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%E6%8E%A5%E5%8F%A3/%E4%BD%9C%E4%B8%9A%E4%B8%80%E6%B5%81%E7%A8%8B%E5%9B%BE.jpg

2)具体实现

 1 #-*- Coding:utf-8 -*-
 2 # Author: D.Gray
 3 
 4 # 创建了user_info是用户文件,user_lock是被锁用户文件
 5 # 作业需求:
 6 # 1. 用户输入帐号密码进行登陆
 7 # 2. 用户信息保存在文件内
 8 # 3. 用户密码输入错误三次后锁定用户
 9 
10 import sys,getpass,os
11 
12 count = 0  #定义一个while循环次数变量
13 print('****************欢迎来到英雄联盟******************')
14 login_name = input('请输入用户名>>>: ')
15 
16 lock_file = open('user_lock.txt','r+')  #定义lock_file变量以读写模式打开 user_lock.txt文本
17 lock_list = lock_file.readlines()       #定义lock_list变量读取 user_lock.txt文本内容
18 
19 for lock_info in lock_list:            #循环遍历user_lock.txt文本内容
20     lock = lock_info.split()            #定义一个lock变量,以列表形式存储user_lock.txt文本内容
21 #print(lock)
22     if login_name in lock:              #判断输入的用户名是否已在绑定名单中
23         sys.exit('您已被锁定...请联系管理员')
24 
25 
26 user_file = open('user_info.txt','r+')  #定义user_file变量以读写模式打开 user_info.txt文本
27 user_list = user_file.readlines()       #定义user_list变量读取 user_info.txt文本内容
28 for user_info in user_list:             #循环遍历user_info.txt文本内容
29     user = user_info.split()            #定义一个user变量,以列表形式存储user_info.txt文本内容
30 #print(user)
31     if login_name in user:              #判断用户是否存在用户列表中
32         while count < 3:                #当密码输入次数>3时,退出循环
33             login_pwd = input('请输入密码>>>: ')
34             if login_pwd == user[1]:    #判断输入密码是否正确
35                 sys.exit('登录成功,欢迎 %s 登录' % user[0])
36             else:
37                 count += 1
38                 print('密码输入错误,请重新输入...您还有 %s 次机会' % (3-count))
39         else:                          #密码输入>=3时,执行一下操作
40             lock_file.write(login_name + '
')  #把login_name写到文件中,write()并不会在str后加上一个换行符
41             sys.exit('密码输错3次,该用户已被绑定')
42 else:
43     sys.exit('用户不存在')             #输入的用户名不在user_info用户列表中,给出“用户不存在提示”
44 user_file.close()
45 lock_file.close()

3)Github笔记

第一天的笔记的地址是:

https://github.com/KongChan1988/51CTO-Treasure/tree/master/Python_Study/%E7%AC%AC%E4%B8%80%E6%A8%A1%E5%9D%97%E5%AD%A6%E4%B9%A0/Day01/Practice%20Notes

第一天作业的地址是:

https://github.com/KongChan1988/51CTO-Treasure/tree/master/Python_Study/%E7%AC%AC%E4%B8%80%E6%A8%A1%E5%9D%97%E5%AD%A6%E4%B9%A0/Day01/HomeWork/%E7%BC%96%E5%86%99%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%E6%8E%A5%E5%8F%A3


4)Readme.md文档

https://github.com/KongChan1988/51CTO-Treasure/blob/master/Python_Study/%E7%AC%AC%E4%B8%80%E6%A8%A1%E5%9D%97%E5%AD%A6%E4%B9%A0/Day01/HomeWork/%E7%BC%96%E5%86%99%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%E6%8E%A5%E5%8F%A3/readme.md

原文地址:https://www.cnblogs.com/catepython/p/7193614.html