员工信息表作业

Posted Optimus丶G

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了员工信息表作业相关的知识,希望对你有一定的参考价值。

 

#     只实现作业要求的查询功能
#     增加,删除,修改功能为选做题
# 创建员工信息表
# 用户输入查询命令
# 分析用户输入的命令,从命令中提取需要查询的关键字
# 根据关键字来查询内容并输出
staff_table=r\'F:\\python文件\\day21生成器\\员工信息表.txt\'

def select(cmd1):                       #查询功能
    with open(staff_table) as f:
        path=f.readlines()              #读出多行赋值给path
        staff_l=[{
            \'staff_id\': i[0],
            \'name\': i[1],
            \'age\': i[2],                    #以列表套字典的形式遍历员工信息
            \'phone\': i[3],
            \'dept\': i[4],
            \'enroll_date\': i[5]
        } for i in[line.strip().split(\',\') for line in path]]
    #把列表的元素连城字符串并分隔出select与from之间的内容赋值给变量
    kebianchang=\'\'.join(cmd1).split(\'select\')[1].split(\'from\')[0].split(\',\')
    #把用户输入的命令后三个元素赋值给变量
    xiangmu=cmd1[-3]
    fuhao=cmd1[-2]
    tiaojian=cmd1[-1]

    #定义变量用于计数
    count=0
    for i in staff_l:
        if fuhao == \'=\':            #判断用户输入命令的几种情况
            if i[xiangmu] == tiaojian:
                print_content(kebianchang, i)
                count+=1
        elif fuhao == \'>\':
            if i[xiangmu] > tiaojian:
                print_content(kebianchang, i)
                count += 1
        elif fuhao == \'<\':
            if i[xiangmu] < tiaojian:
                print_content(kebianchang, i)
                count += 1
        elif fuhao == \'like\':
            if tiaojian in i[xiangmu].split(\'-\'):
                print_content(kebianchang, i)
                count += 1
        else:
            print(\'输入错误\')
    print(\'查询到%s条信息\'%count)

def print_content(kebianchang,i):
    # 输出用户输入的需求对应的内容
    if kebianchang == [\'*\']:
        print([i[k] for k in i])
    else:
        print([i[k] for k in kebianchang])

while True:
    cmd=input(\'cmd: \').strip()
    cmd1=cmd.split()
    select(cmd1)

 

以上是关于员工信息表作业的主要内容,如果未能解决你的问题,请参考以下文章

15-作业:员工信息表查询

作业员工信息表实现增删改查操作

python基础之员工信息表作业

Python 基础 - Day 4 Assignment - 员工信息表程序

学员信息表

HQL作业