编写可供用户查询的员工信息表(一)

编写可供用户查询的员工信息表

要求:

1.需要用户认证

2.员工信息表文件内容:

IDNameDepartmentPhone

3.认证成功后查询正确信息

代码:

#!/usr/bin/env python                                                           #声名python 解释器,env可根据环境寻找并运行默认版本<br />authen_dic = {"LiuPn":123,"WangXiaoMing":123456,"HaoXiaoBei":12345678}      #定义一个字典存放可登陆的用户及密码<br />usr_list = list(authen_dic.keys())                                              #操作字典转生成一个用户列表<br />while True:<br />    input_usr = input("Please input your username: ")                       #用户交互第一步:请输入用户名<br />    if usr_list.count(input_usr) >= 1:                                          #假设输入的用户名在用户名列表里出现次数大于等于1<br />        input_passwd = input("Please input %s's password: "% input_usr)     #用户交互第二步:请输入密码<br />        passwd = str(authen_dic[input_usr])                                     #操作字典取出用户密码并格式化为字符串<br />        while input_passwd != passwd:                                           #假设密码不相等时进入循环<br />            input_passwd = input("Password is incorrect!Try again:")<br />        else:                                                                   #对应前面,密码不正确时<br />            print("Logon successful!Welcome")                                #打印成功信息<br />            while True:                                                        #登陆成功后进入while循环<br />                match_yes = 0                                                   #定义一个变量初始值与后面的赋值对应<br />                sch_input = input("\033[1;34;42mPlease enter what the information you need to search: ")<br />                                                                                #请输入你想查找的信息<br />                InfoOfEmTab_file = open("TheInfoOfEmployeeTable.txt")       #对文件进行操作,打开员工信息表文件<br />                while True:<br />                    line = InfoOfEmTab_file.readline()                         #读取文件的每一行<br />                    if len(line) == 0: break                                  #读取到文件结尾后结束退出<br />                    if sch_input in line:                                     #假设用户输入的内容在信息表文件的其中一行中<br />                        print("\033[1;31mMarch Item: \033[1;36m%s" % line)#格式化输出打印信息<br />                        match_yes = 1                                          #满足条件后给变量赋予新值(注:变量赋值不输出任何信息)<br />                if match_yes == 0:                                             #变量值如果等于初始值则打印信息(这里变量初始值对应上一条件里给变量赋予了一个新的值,所以可以理解成变量值不等于1,即用户输入的内容不在信息表的任一行里)<br />                    print("\033[1;31mNo match items had found!Please check it and try again.\n")<br />    else:                                                                     #对应之前用户名输入不正确<br />        print("The user name:%s is not found. Please re-enter your username." % input_usr)

效果预览:

编写可供用户查询的员工信息表(一)编写可供用户查询的员工信息表(一)

相关推荐