python编写登录接口

一、需求

   编写登录接口:

      1.输入用户名和密码登录

      2.输错三次锁定账户

      3.下次登录还是上次的账户,提示锁定,直接退出(用到文件读写)

      4.成功 后显示登录成功

二、需求流程图

    ​(转)python编写登录接口_代码示例

三、代码示例

    




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​



 


技术链接