python用户名和密码登录_python编写登录接口

python编写登录接口

一、需求

编写登录接口:

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

2.输错三次锁定账户

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

4.成功 后显示登录成功

二、需求流程图

wKiom1jKQvLxL28JAABq24LasGA863.png

三、代码示例

例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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值