zoukankan      html  css  js  c++  java
  • 编写登陆接口

    需求:

    • 输入用户名密码
    • 认证成功后显示欢迎信息
    • 输错三次后锁定
    # Author:wangsen
    # 加载getpass模块 密码密文
    import getpass

    # 计数器
    count = 0
    # 用户的二维list,方便验证
    new_user = []
    # 记录登陆的用户list
    input_username = []
    # 打开user.txt文件并将内容读到user的list下
    with open ('user.txt', 'r') as ws:
    user = ws.readlines()
    # 循环list得到二维list [['username','password']]
    # strip()去掉换行的 以逗号拆分
    for name in user:
    new_user.append(name.strip(' ').split(","))
    print(new_user)
    # 读黑名单
    with open('Blacklist.txt', 'r+') as op:
    black_list = op.readlines()
    # 总循环控制器
    while count < 3:
    username = input("Please enter your username : ")
    # 将输入的username添加到input_username list下
    input_username.append(username)
    print(username)
    print(input_username)
    password = input('please enter your password:')
    print (password)
    # 循环黑名单 如果输入的用户在list中就 程序结束 提示锁定
    for black in black_list:
    if username in black:
    print("{info_username} account has been locked...".format(info_username=username))
    count = 3
    break
    # 循环用户list 0角标的用户名和1角标的密码对应则提示登陆成功
    else:
    for new in new_user:
    if new[0] == username and new[1] == password:
    print("Landing success.....")
    count = 3
    break
    else:
    print("ERROR Incorrect username or password........")
    count += 1
    # 如果 input list 中输入的用户等于3 时 就写入黑名单
    if input_username.count(username) == 3:
    with open('Blacklist.txt', 'r') as op:
    op.write("{info_username},".format(info_username=username))
    print("{info} has been locked.....".format(info=username))
    if count == 3:
    print("GAMEOVER!!")
    print(black)


    知识点1.
    注意:pycharm 不支持getpass模块
    在Terminal中 运行 (其实际意思就是cmd)
    import getpass
    password = getpass.getpass('请输入密码:')

    知识点2. python with open as用法
    python基础 - 文件读写

    with open ('user.txt', 'r') as op: 固定语法:python with open as
    user = op.readlines() (readline代表只读一行 readlines代表全部都读出来)
    从user.txt中读出内容 赋值到中间量op(这个可以我们自己定义)
    把op读出来的内容赋值给变量user


    大概就是这些 后续会继续补充 加油



  • 相关阅读:
    [Chrome_OS]Crosh Shell终端 基础命令
    [HTML5_WebSockets]HTML 5 Web Sockets应用初探
    [HTML5_WebWorkers]利用HTML5的window.postMessage实现跨域通信
    [HTML5_资源]49个超炫的HTML 5示例
    [HTML5_资源]国外模版网站
    [HTML5_JS跨域]JavaScript跨域总结与解决办法
    [HTML5_资源]给网页设计师的30个HTML5学习资源
    [HTML5_WebWorkers]HTML5 web通信(跨文档通信/通道通信)简介
    [HTML5_JQueryMobile]20个很棒的 jQuery Mobile 教程
    LeetCode-513. Find Bottom Left Tree Value
  • 原文地址:https://www.cnblogs.com/wangsen-123/p/5708895.html
Copyright © 2011-2022 走看看