zoukankan      html  css  js  c++  java
  • Python练习一(控制流)

      最近在研究Python,自己写的简单小程序,模拟登陆的流程。流程图:

    
    
    #!/usr/bin/env python
    """
    login.info
    wang 123456
    fu 159753
    acl.info
    wang
    """


    def login_registe(panduan="Y"):
    panduan = input("新用户请打印'Y',老用户请输入'N':")
    return panduan


    def cycle(username, password):

    record = open('login.info', 'r') # 以只读的方式打开文件
    panduan = 1
    for line in record.readlines(): # readlines函数是从第一行读取
    user, passw = line.strip().split() # strip取换行符,split转换列表,分别赋值给user和passw
    if username == user and password == passw:
    limit = open('acl.info', 'r')
    panduan = 0

    for limit_user in limit.readlines(): # 判断用户是否被锁定
    if limit_user == username:
    return "用户已经被锁!"
    break
    return "welcome"
    break

    if panduan == 1: # 如果用户名密码不匹配 panduan变量就等于1执行下面
    return "用户名或密码错误"


    def login():
    number = 0 # 计数器变量
    login_1 = login_registe()
    if login_1 == "N":

    while True:
    if number == 3: # 判断是否用户名密码输入超过3次
    print("用户名密码输入超过3次,用户已被锁定。")
    limit = open('acl.info', 'a')
    limit.write(" " + username)
    limit.close()
    break
    username = input("请输入登陆用户名:")
    if len(username) != 0: # len函数是计算字符的个数
    password = input("请输入密码:")
    jieguo = cycle(username, password)
    if jieguo == "welcome" or jieguo == "用户已经被锁!":
    print(jieguo)
    break

    elif jieguo == "用户名或密码错误":
    number += 1
    print(jieguo)
    print(number)


    else:
    print("用户名不能为空!")



    login()
     


      目前还有一些问题,如果不同用户错误3次,将锁定最后一个。
  • 相关阅读:
    $Noip2018/Luogu5022$ 旅行
    $Noip2018/Luogu5020$ 货币系统 $dp$
    $Noip2018/Luogu5021$ 赛道修建 二分+树形
    $Noip2018/Luogu5019/Luogu1969$ 铺设道路
    $Poj1220/AcWing124 Number Base Convertion$ 进制转换+高精除
    $Poj1050 To the Max$
    $Poj1723/AcWing123 Soldiers$ 排序
    luogu质数距离
    模板线性筛
    CERC2016 bfs 最大生瓶颈边 lca
  • 原文地址:https://www.cnblogs.com/wangyufu/p/5452447.html
Copyright © 2011-2022 走看看