zoukankan      html  css  js  c++  java
  • 员工信息表作业

    #     只实现作业要求的查询功能
    #     增加,删除,修改功能为选做题
    # 创建员工信息表
    # 用户输入查询命令
    # 分析用户输入的命令,从命令中提取需要查询的关键字
    # 根据关键字来查询内容并输出
    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)
  • 相关阅读:
    从BATS交易所获取空头头寸
    用cython提升python的性能
    用Python编写的第一个回测程序
    Omi框架学习之旅
    Omi框架学习之旅
    AlloyTouch.js 源码 学习笔记及原理说明
    AlloyFinger.js 源码 学习笔记及原理说明
    Git 学习笔记
    从数组中每次取一个不同的数组成员 getRandomItem(arr)
    move.js 源码 学习笔记
  • 原文地址:https://www.cnblogs.com/78pikaqiu/p/7045177.html
Copyright © 2011-2022 走看看