热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

构建用户可查询的员工信息管理系统(上篇)

构建用户可查询的员工信息管理系统(上篇)旨在设计一个安全且易于使用的员工信息查询平台。该系统要求实现以下功能:1.用户必须通过身份验证才能访问系统;2.员工信息表应包含关键字段,如ID、姓名、部门和电话号码;3.身份验证成功后,用户能够准确查询到所需信息。此外,系统还应具备数据加密和权限管理等高级功能,以确保信息安全和合规性。

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

要求:

1.需要用户认证

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

  ID  Name  Department  Phone

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

代码: 

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

 效果预览:

下一篇内容:https://www.cnblogs.com/easypython/p/9080972.html

(未完待续)


推荐阅读
  • 深入解析Gradle中的Project核心组件
    在Gradle构建系统中,`Project` 是一个核心组件,扮演着至关重要的角色。通过使用 `./gradlew projects` 命令,可以清晰地列出当前项目结构中包含的所有子项目,这有助于开发者更好地理解和管理复杂的多模块项目。此外,`Project` 对象还提供了丰富的配置选项和生命周期管理功能,使得构建过程更加灵活高效。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
  • 为了优化直播应用底部聊天框的弹出机制,确保在不同设备上的布局稳定性和兼容性,特别是在配备虚拟按键的设备上,我们对用户交互流程进行了调整。首次打开应用时,需先点击首个输入框以准确获取键盘高度,避免直接点击第二个输入框导致的整体布局挤压问题。此优化通过调整 `activity_main.xml` 布局文件实现,确保了更好的用户体验和界面适配。 ... [详细]
  • 本文深入探讨了 Python Watchdog 库的使用方法和应用场景。通过详细的代码示例,展示了如何利用 Watchdog 监控文件系统的变化,包括文件的创建、修改和删除等操作。文章不仅介绍了 Watchdog 的基本功能,还探讨了其在实际项目中的高级应用,如日志监控和自动化任务触发。读者将能够全面了解 Watchdog 的工作原理及其在不同场景下的应用技巧。 ... [详细]
  • MongoDB Aggregates.group() 方法详解与编程实例 ... [详细]
  • 在 Vbox 和 Hbox 布局中,当用户点击容器添加一个矩形时,系统会自动为该矩形分配坐标并打印其位置信息。此外,在按键事件触发时,系统仅打印当前矩形的坐标值。这两种布局在特定的交互场景下,能够动态地管理和更新子组件的位置。 ... [详细]
  • 本文详细探讨了OpenCV中人脸检测算法的实现原理与代码结构。通过分析核心函数和关键步骤,揭示了OpenCV如何高效地进行人脸检测。文章不仅提供了代码示例,还深入解释了算法背后的数学模型和优化技巧,为开发者提供了全面的理解和实用的参考。 ... [详细]
  • Java集合框架特性详解与开发实践笔记
    Java集合框架特性详解与开发实践笔记 ... [详细]
  • 分布式开源任务调度框架 TBSchedule 深度解析与应用实践
    本文深入解析了分布式开源任务调度框架 TBSchedule 的核心原理与应用场景,并通过实际案例详细介绍了其部署与使用方法。首先,从源码下载开始,详细阐述了 TBSchedule 的安装步骤和配置要点。接着,探讨了该框架在大规模分布式环境中的性能优化策略,以及如何通过灵活的任务调度机制提升系统效率。最后,结合具体实例,展示了 TBSchedule 在实际项目中的应用效果,为开发者提供了宝贵的实践经验。 ... [详细]
  • GDB 使用心得与技巧总结
    在使用 GDB 进行调试时,可以采用以下技巧提升效率:1. 通过设置 `set print pretty on` 来美化打印输出,使数据结构更加易读;2. 掌握常见数据结构的打印方法,如链表、树等;3. 利用 `info locals` 命令查看当前作用域内的所有局部变量;4. 在需要进行类型强制转换时,正确使用语法,例如 `p (Test::A *) pObj`。这些技巧能够显著提高调试的便捷性和准确性。 ... [详细]
  • 利用Java开发功能完备的电话簿应用程序,支持添加、查询与删除操作
    本研究基于Java语言开发了一款功能全面的电话簿应用程序,实现了与数据库的高效连接。该应用不仅支持添加、查询和删除联系人信息,还具备输出最大和最小ID号的功能,并能够对用户输入的ID号进行有效性验证,确保数据的准确性和完整性。详细实现方法可参阅相关文档。 ... [详细]
  • 本题库精选了Java核心知识点的练习题,旨在帮助学习者巩固和检验对Java理论基础的掌握。其中,选择题部分涵盖了访问控制权限等关键概念,例如,Java语言中仅允许子类或同一包内的类访问的访问权限为protected。此外,题库还包括其他重要知识点,如异常处理、多线程、集合框架等,全面覆盖Java编程的核心内容。 ... [详细]
  • 如何在 Java LinkedHashMap 中高效地提取首个或末尾的键值对? ... [详细]
  • 进程(Process)是指计算机中程序对特定数据集的一次运行活动,是系统资源分配与调度的核心单元,构成了操作系统架构的基础。在早期以进程为中心的计算机体系结构中,进程被视为程序的执行实例,其状态和控制信息通过任务描述符(task_struct)进行管理和维护。本文将深入探讨进程的概念及其关键数据结构task_struct,解析其在操作系统中的作用和实现机制。 ... [详细]
  • 本文介绍了一种简化版的在线购物车系统,重点探讨了用户登录和购物流程的设计与实现。该系统通过优化界面交互和后端逻辑,提升了用户体验和操作便捷性。具体实现了用户注册、登录验证、商品浏览、加入购物车以及订单提交等功能,旨在为用户提供高效、流畅的购物体验。 ... [详细]
author-avatar
mobiledu2502922357
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有