zoukankan      html  css  js  c++  java
  • python编写登录接口与三级菜单小程序

    一:登录接口

    编写思路

    python登录接口登录三次失败锁定:
    一:建一个数据库文件保存用户名和密码,用来判断用户是否存在
    二:用户锁定文件,当用户登录三次错误后记录用户信息进入锁定文件,下次登录时就遍历该文件里用户是否存在,存在就锁定退出
    三:设置一个3次循环
    四:用户输入用户名密码
    五:判断用户名密码是否正确
    六:用户名密码正确登录成功打印欢迎信息,否则提示错误,在重新循环,超过3次锁定结束

    流程图

    代码实现,由于自己初学python,对于文件夹的操作还不是太熟,所以这里存在了一个bug,无论是哪一个用户在第三次输入的时候都会被锁定,不过

    可以设置一个标记为每一个用户,统计登录次数,然后这个标记为0,每循环一次就加一,为三时就锁定解决这个bug,分辨某个用户输入了几次

     1 #/usr/bin/env python
     2 #lock_file  锁定文件
     3 #user_file  账户文件
     4 import sys
     5 i=0
     6 a=3
     7 p=2
     8 while i<a:
     9     name=input("请输入用户名:")                             #提示用户输入
    10     lock_file=open('lock_file.txt','r+')                   #打开锁定文件
    11     lock_list=lock_file.readlines()                        #遍历锁定文件
    12     for lock_line in lock_list:                            #读取一行
    13         lock_line=lock_line.strip('
    ')                    #去掉换行符
    14         if name==lock_line:                                #判断用户输入的是否存在锁定文件里,去掉换行符
    15             sys.exit('用户%s已经被锁定,退出'%(name))         #提示用户已锁定,并退出程序
    16     user_file=open('acount_file.txt','r')                  #打开账户文件
    17     user_list=user_file.readlines()                        #遍历账户文件
    18     for user_line in user_list:                            #读取一行
    19         (user,password)=user_line.strip('
    ').split()      #判断用户输入信息是否正确
    20         if name==user:
    21             hh=2
    22             while k<3 and hh>=0:
    23                 pas=input("请输入密码:")
    24                 if pas==password:                                    #判断输入的用户密码是否正确
    25                     print('欢迎来到管理平台,用户%s'%(name))            #密码正确进入后台返回信息
    26                     sys.exit(0)                                      #返回一个状态码
    27                 else:                                                #密码不正确执行下面操作
    28                     if hh >=0:
    29                         print('用户%s密码错误,请重新输入,还有%s次机会'%(name,hh))       #打印错误提示信息
    30                     hh-=1                                                            #错误次数累加
    31             else:
    32                 lock_file.write(name+'
    ')                                           #错误次数超过时,把超过次数的追加到锁定文件
    33                 sys.exit('用户%s达到最大登录次数,将被锁定并推出'%(name))                #退出程序并提示
    34         else:                                                                        #当用户名无匹配时输入,跳过继续循环
    35             pass
    36     else:                                                                            #用户输入错误时执行如下操作
    37         if p>0:
    38             print('用户%s不存在,请重新输入,还有%s次机会'%(name,p))                      #用户输入错误时提示输入错误并统计错误次数
    39             p-=1
    40         elif p==0:
    41             lock_file.write(name+'
    ')                                               #如果错误次数达到3次
    42             sys.exit('用户%s达到最大登录次数,将被锁定并退出'%(name))                     #退出程序并提示
    43 else:
    44     sys.exit('用户%s不存在,退出'%(name))
    45 lock_file.close()                                                                    #关闭打开的文件
    46 user_file.close()
    二:三级菜单

    编写思路
    利用一个if嵌套循环,循环多次用户的选择
    代码实现:
     1 #/usr/bin/env python
     2 dming1=int(input("请选择城市:1:北京|2:上海|3:重庆|4:返回上一级|5:结束"))
     3 while dming1==1:
     4     dming2=int(input('请选择城区:1:昌平|2:海淀|3:西城|4:返回上一级|5:结束'))
     5     if dming2==1:
     6         dming3=int(input('请选择地名:1:超市|2:学校|3:地铁|4:返回上一级|5:结束'))
     7         if dming3==1:
     8             print("超市")
     9         elif dming3==2:
    10             print("学校")
    11         elif dming3==3:
    12             print('地铁')
    13         elif dming3==4:
    14             print('返回上一级')
    15             continue
    16         else:
    17             break
    
    
    
    
  • 相关阅读:
    uiwebview底部黑边解决
    ssh连接速度慢解决
    rutime中动态调用类的方法
    performSelector may cause a leak because its selector is unknown解决
    alpha阶段 代码结构及技术难点简介
    第十二次小组会议记录
    【第三组】心·迹 Alpha版本 成果汇报
    数据库接口使用示例
    第十一次小组会议:进一步对接记录
    2018.6.4 ~ 6.10 周进度管理
  • 原文地址:https://www.cnblogs.com/tinfeng/p/7389789.html
Copyright © 2011-2022 走看看