python编写登录接口与三级菜单小程序

一:登录接口

编写思路

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

流程图

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

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

登录页面

#/usr/bin/env python
#lock_file  锁定文件
#user_file  账户文件
import sys
i=0
a=3
p=2
while i<a:
    name=input("请输入用户名:")                             #提示用户输入
    lock_file=open('lock_file.txt','r+')                   #打开锁定文件
    lock_list=lock_file.readlines()                        #遍历锁定文件
    for lock_line in lock_list:                            #读取一行
        lock_line=lock_line.strip('\n')                    #去掉换行符
        if name==lock_line:                                #判断用户输入的是否存在锁定文件里,去掉换行符
            sys.exit('用户%s已经被锁定,退出'%(name))         #提示用户已锁定,并退出程序
    user_file=open('acount_file.txt','r')                  #打开账户文件
    user_list=user_file.readlines()                        #遍历账户文件
    for user_line in user_list:                            #读取一行
        (user,password)=user_line.strip('\n').split()      #判断用户输入信息是否正确
        if name==user:
            hh=2
            while k<3 and hh>=0:
                pas=input("请输入密码:")
                if pas==password:                                    #判断输入的用户密码是否正确
                    print('欢迎来到管理平台,用户%s'%(name))            #密码正确进入后台返回信息
                    sys.exit(0)                                      #返回一个状态码
                else:                                                #密码不正确执行下面操作
                    if hh >=0:
                        print('用户%s密码错误,请重新输入,还有%s次机会'%(name,hh))       #打印错误提示信息
                    hh-=1                                                            #错误次数累加
            else:
                lock_file.write(name+'\n')                                           #错误次数超过时,把超过次数的追加到锁定文件
                sys.exit('用户%s达到最大登录次数,将被锁定并推出'%(name))                #退出程序并提示
        else:                                                                        #当用户名无匹配时输入,跳过继续循环
            pass
    else:                                                                            #用户输入错误时执行如下操作
        if p>0:
            print('用户%s不存在,请重新输入,还有%s次机会'%(name,p))                      #用户输入错误时提示输入错误并统计错误次数
            p-=1
        elif p==0:
            lock_file.write(name+'\n')                                               #如果错误次数达到3次
            sys.exit('用户%s达到最大登录次数,将被锁定并退出'%(name))                     #退出程序并提示
else:
    sys.exit('用户%s不存在,退出'%(name))
lock_file.close()                                                                    #关闭打开的文件
user_file.close()

三级菜单

#/usr/bin/env python
dming1=int(input("请选择城市:1:北京|2:上海|3:重庆|4:返回上一级|5:结束"))
while dming1==1:
    dming2=int(input('请选择城区:1:昌平|2:海淀|3:西城|4:返回上一级|5:结束'))
    if dming2==1:
        dming3=int(input('请选择地名:1:超市|2:学校|3:地铁|4:返回上一级|5:结束'))
        if dming3==1:
            print("超市")
        elif dming3==2:
            print("学校")
        elif dming3==3:
            print('地铁')
        elif dming3==4:
            print('返回上一级')
            continue
        else:
            break

编写思路

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

流程图

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

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

猜你喜欢

转载自www.cnblogs.com/lysf/p/10151285.html