• 函数案例练习(python练习):设计一个简单的人员管理系统


    import time
    import os
    
    # 定一个列表,用来存储所有的学生信息(每个学生是一个字典)
    info_list = [{'name': '沈剑三','rank': '天字榜','age': '20','Gender': '','race': '','FaceScore': '98'},{'name': '海皇','rank': '高级','age': '23','Gender': '','race': '人鱼族','FaceScore': '99'}]
    
    #打印,用于用户操作选择
    def print_menu():
        print("---------------------------")
        print("      人员管理系统 V1.0")
        print(" 1:添加人员")
        print(" 2:删除人员")
        print(" 3:修改人员")
        print(" 4:查询学人员")
        print(" 5:显示所有人员")
        print(" 6:退出系统")
        print("---------------------------")
    
    
    def add_new_info():
        """添加人员信息"""
        global info_list
        new_name=input("请输入姓名:")
        new_rank = input("请输入等级:")  # 前提是定义的列表info_list存在有值的情况,否则会报错
        new_age = input("请输入年龄:")
        new_Gender = input("请输入性别:")
        new_race = input("请输入种族:")
        new_FaceScore = input("请输入评分:")
    
        for temp_info in info_list:
            if temp_info["name"]==new_name:
                print("用户已存在,请重新输入")
                return
            # else:
            #     new_rank = input("请输入等级:")      #如果用else的话,前提是定义的列表info_list存在有值的情况,否则会报错
            #     new_age = input("请输入年龄:")
            #     new_Gender = input("请输入性别:")
            #     new_race = input("请输入种族:")
            #     new_FaceScore = input("请输入评分:")
    
    
        info ={}
        info["name"]=new_name
        info["rank"]= new_rank
        info["age"]=new_age
        info["Gender"]=new_Gender
        info["race"]=new_race
        info["FaceScore"]=new_FaceScore
    
        info_list.append(info)
        # for temp_info2 in info_list:
        #     print(temp_info2)
    
    
    # 删除人员
    def del_info():
        """删除人员信息"""
        global info_list
    
        del_num = int(input("请输入要删除的序号:"))
        if 0 <= del_num < len(info_list):
            del_flag = input("你确定要删除么?yes or no")
            if del_flag == "yes":
                del info_list[del_num]
                print('\n',"---Deleted successfully---")
        else:
            print("输入序号有误,请重新输入")
    
    # 修改人员
    def modify_info():
        """修改人员信息"""
        global info_list
    
        modify_num = int(input("请输入要修改的序号:"))
        if 0 <= modify_num < len(info_list):
            print("你要修改的信息是:")
    
            print("name:%s、 rank:%s、 age:%s、 Gender:%s、 race:%s、 FaceScore:%s" % (info_list[modify_num]["name"],
                                                                                      info_list[modify_num]["rank"],
                                                                                      info_list[modify_num]["age"],
                                                                                      info_list[modify_num]["Gender"],
                                                                                      info_list[modify_num]["race"],
                                                                                      info_list[modify_num]["FaceScore"]))
            modify_information = input("亲,你确定要修改该信息吗?(yes or no) ")
            if modify_information == "yes":
                info_list[modify_num]["name"] = input("请输入姓名:")
                info_list[modify_num]["rank"] = input("请输入等级:")
                info_list[modify_num]["age"]  = input("请输入年龄:")
                info_list[modify_num]["Gender"] = input("请输入性别:")
                info_list[modify_num]["race"] = input("请输入种族:")
                info_list[modify_num]["FaceScore"] = input("请输入评分:")
    
        else:
            print("输入序号有误,请重新输入")
    
    
    # 查询学人员
    def search_info():
        '''查询学人员'''
        search_name = input("请输入要查询的人员名称")
        for temp_info in info_list:
            if temp_info["name"] == search_name:
                print("查询到的信息如下:")
                print("name:%s、 rank:%s、 age:%s、 Gender:%s、 race:%s、 FaceScore:%s" %(temp_info["name"],
                       temp_info["rank"],temp_info["age"],temp_info["Gender"],temp_info["race"],temp_info["FaceScore"]))
                break
            else:
                print("没有您要找的信息....")
    
    
    # 显示所有人员
    def print_all_info():
        '''遍历所有人员信息'''
        print("序号\t\t姓名\t\t等级\t\t年龄\t\t性别\t\t种族\t\t评分")
    
        i=1
        for all_temp_name in info_list:
            # all_temp_name是一个字典
            print("%d\t\t%s\t%s\t%s\t\t%s\t\t%s\t\t%s" % (i,all_temp_name["name"],all_temp_name["rank"],all_temp_name["age"],all_temp_name["Gender"],all_temp_name["race"],all_temp_name["FaceScore"]))
            # print(i,'\t\t',all_temp_name["name"],'\t\t',all_temp_name["rank"],'\t\t',all_temp_name["age"],'\t\t',all_temp_name["Gender"],'\t\t\t',all_temp_name["race"],'\t\t',all_temp_name["FaceScore"])
    
            i+=1
    
    
    
    def main():
        """用来控制整个流程"""
        while True:
            # 1. 打印功能
            print_menu()
    
            # 2. 获取用户的选择
            num = input("请选择要进行的操作(数字):")
    
            # 3. 根据用户选择,做相应的事情
            if num == "1":
                # 添加人员
                add_new_info()
            elif num == "2":
                # 删除人员
                del_info()
            elif num == "3":
                # 修改人员
                modify_info()
            elif num == "4":
                # 查询人员
                search_info()
            elif num == "5":
                # 遍历所有的信息
                print_all_info()
            elif num == "6":
                # 退出系统
                exit_flag = input("亲,你确定要退出么?~~~~(>_<)~~~~(yes or no) ")
                if exit_flag == "yes":
                    print('\n',"---退出系统 . 程序结束---")
                    break
            else:
                print("输入有误,请重新输入......")
    
            input("\n\n\n按回车键继续....")  #运用while 循环 换行,间隔三行
            # os.system("clear")  # 调用Linux命令clear完成清屏
    
    
    # 程序的开始
    if __name__ == '__main__':
        main()
    View Code
  • 相关阅读:
    nginx和apache ssl证书的区别
    delphi11.2和谐安装
    微服务网关的实现方法
    dremio 23 版本的试用简单说明
    go workspace 试用
    grafana jpprof jdk 8 支持探索
    dragonfly 兼容redis 以及memcached 的替代工具
    grafana jpprof 试用
    使用 oceanbase做为xxljob 以及nacos 的mysql存储
    dremio parquet zstd 压缩支持docker 镜像
  • 原文地址:https://www.cnblogs.com/dingchuang666/p/15874777.html
Copyright © 2020-2023  润新知