Python week1

业二:编写登陆接口

  • 输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后锁定

流程图

”“”

知识点1: python下的文件操作、文件与列表的转换和应用

知识点2:逻辑判断 if/elif/else

知识点3: while/for循环

“”“

“”“

设计表name.txt:

用户名  密码  黑名单

王1  111111  0

王2  222222  1

王3  333333  0

王4  444444  1

”“”

# with打开文件代码块结束后自动关闭文件;
# 强制文件utf-8解码,要不不能读中文;
# split()将str进行切片,并返回切片后的列表
with open("名单.txt","r+",encoding="UTF-8") as f:
    f_list=[]
    for line in f:
        f_list.append(line.split())

#初始化变量
i=0
j=0
k=0

#第一步 输入用户名
name_input = input("请输入用户名:")

#判断用户是否存在
#判断用户是否黑名单
while i < len(f_list):
    if name_input in f_list[i]:
        if 1 == int(f_list[i][2]):
            print("You are locked !")
            exit()
        else:
            print("Welcom %s !" %name_input)
            psw = f_list[i][1]#寄存定位用户后的密码,减少再次遍历操作
            blk = f_list[i][1]#寄存定位用户后的黑名单状态,存指针,不是Copy blk[]= 这是存Copy
            break
    i+=1
else:
    print("No such user !")
    exit()

#第二步 输密码
for k in range(3):
    psw_input = input("请输入密码:")
    if psw_input == psw:
       print("You are login in !")
       break
    else:
       print("Wrong password! You have %d tims"%(2-k))
else:
    print("You are locked !")
    blk = 1
#写文件

猜你喜欢

转载自www.cnblogs.com/nale/p/9616617.html