python 作业1 登录界面的判断

昨天要求:

编写登录接口:

        1.输入用户名和密码

         2.认证成功后可以显示欢迎信息

         3.输入三次密码错误后锁定用户信息

         4.如果用户名输错,会一直让你输入

#!/usr/bin/env python

#encoding=utf8

#date:2018-04-19

#author:wz

#定义白名单和黑名单文件

account_file='white'

lock_file='black'

#节省脚本的成本,将白名单中的变量存在一个变量中

f=file(account_file)

accountFile=f.readlines()

f.close()

#执行循环操作

while True:

    login_success = 0

    #block 在此处打开可是每次最外面循环的时候读取文件内容

    f2=file(lock_file)

    lockFile=[]

    for i in f2.readlines():

        #将黑名单的名称加入到list中

        lockFile.append(i.strip('\n'))

    f2.close()

    #判断用户名是否在黑名单中,如果存在提示信息,结束外层循环

    name=raw_input("please input your name:").strip()

    if name in lockFile:

        print "%s in lock_file" % name

        break

    #遍历白名单中的用户名和密码

    for line in accountFile:

        line=line.split()

        #判断用户名是否存在白名单中,如果存在才能输入密码,可以输入三次

        if line[0] == name:

            for i in range(3):

                passwd=raw_input("please input your passwd:").strip()

                #判断密码时候正确,如果正确打印欢迎提示,改变变量login_success的值,跳出密码循环

                if passwd == line[1]:

                    print "welcome %s login in the web" % name

                    login_success = 1

                    break

            #如果三次密码输入错误,打印提示语,将名称加入黑名单中

            else:

                print "three of error passwd,go to lock %s" % name

                f3=file(lock_file,'a')

                f3.write('%s\n' % name)

                f3.close()

            #再次判断login_success的值,如果为1,跳出遍历白名单循环

            if login_success == 1:

                break

    #最后判断login_success的值,如果为1,跳出外层循环

    if login_success ==1:

        break


作业之后的反思:

1.对于变量login_success的使用确实有点出乎自己的意料,自己有能力写出循环一次的结果,就是没有定义变量,判断的经验造成没有完成这个作业,以后要多注意思考,程序中变量的使用

2.对于思路的养成也是一个很重要的事情

你可能感兴趣的:(python 作业1 登录界面的判断)