• python——登陆接口设计(循环方法)


    近日重新整理了登陆接口设计程序,感觉以前的代码没有注释,让园子的其他童鞋读起来比较费劲。也没有流程图和程序运行说明。

    1.流程图

    2.user_file.txt&lock_file.txt文件内容

    (1) user_file.txt

    Abel 123
    Bbel 1234
    Cbel 123456

    (2) lock_file.txt

    Dbel

    3.程序运行说明

    (1)输入用户名,程序对比lock_file.txt。如果存在则提示该用户已经被锁定,退出程序。

    (2)程序查找用户名是否在user_file.txt中,如果不在提示用户,并退出程序。

    (3)用户输入密码,连续输入三次以内,密码正确。提示欢迎,并退出程序。

    (4)密码连续输入错误3次,提示用户已经被锁定,并将用户名写入lock_file.txt中。退出程序。

    4.程序代码

     1 import os
     2 
     3 user_file = open('use_file.txt', 'r')  # 打开user_file.txt
     4 user_list = user_file.readlines()  # 一次性将user_file.txt中的内容加载到内存中
     5 user_file.close()  # 关闭user_file.txt
     6 
     7 while True:
     8     lock_file = open('lock_file.txt', 'r+')  # 打开lock_file.txt
     9     lock_list = lock_file.readlines()  # 将lock_file.txt中的内容加载到内存中
    10     lock_file.close()  # 关闭lock_file.txt
    11 
    12     login_Success = False  # 设置标记位,用于跳出循环
    13     user_name = input('Please enter your name:'.strip())    # 输入用户名
    14     for line1 in lock_list:
    15         line1 = line1.split()   # 将lock_file.txt中的信息读取到line1中
    16         if user_name == line1[0]:   # 如果用户名在line1中提示信息并退出整个程序
    17             print("对不起!您的用户名已经被锁定,请联系网站管理员。")
    18             exit()
    19     for line2 in user_list:
    20         line2 = line2.split()   # 将user_file.txt中的信息读取到line2中
    21         if user_name == line2[0]:   # 如果用户名在line2中进入for循环(输入密码三次错误锁定)
    22             for i in range(3):  # 计数器,记录密码输入错误次数
    23                 password = input('Please enter your password'.strip())  # 输入密码
    24                 if password == line2[1]:    # 如果password在line2[1]中,显示欢迎信息,并退出整个程序
    25                     print("欢迎 %s 登陆Abel网站!" % user_name)
    26                     login_Success = True
    27                     break
    28             else:   # 密码输入错误次数超过3次,将用户名写入lock_file.txt中
    29                 f = open('lock_file.txt', 'a')
    30                 f.write('%s
    ' % user_name)
    31                 f.close()
    32                 print("连续输入3次错误密码,您的用户%s已经被锁定,请联系网站管理员。" % user_name)   # 提示用户已经锁定,并退出整个程序
    33                 login_Success = True
    34                 break
    35             if login_Success:
    36                 break
    37         else:   # 用户名不在line2中,提示用户名不存在。并退出整个程序
    38             print("您输入的用户名不存在,请重新输入或注册")
    39             exit()
    40     if login_Success:
    41         break
  • 相关阅读:
    apache+php+mysql配置
    欧拉函数知识点总结及代码模板及欧拉函数表
    栈排序
    codeforces 722C (并查集)
    北京网赛I题 hiho1391 (树状数组、区间覆盖最大值问题)
    HDU5898、 HDU 2089(数位DP)
    HDU 5876 (大连网赛1009)(BFS + set)
    codeforces 682D(DP)
    codeforces 666A (DP)
    codeforces 706D (字典树)
  • 原文地址:https://www.cnblogs.com/ouyangyixuan/p/5861292.html
Copyright © 2020-2023  润新知