员工信息表作业

#     只实现作业要求的查询功能
#     增加,删除,修改功能为选做题
# 创建员工信息表
# 用户输入查询命令
# 分析用户输入的命令,从命令中提取需要查询的关键字
# 根据关键字来查询内容并输出
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)
时间: 2024-10-12 08:06:42

员工信息表作业的相关文章

python基础之员工信息表作业

周末大礼包 文件存储格式如下: id, name, age, phone, job 1, Alex, 22, 13651054608, IT 2, Egon, 23, 13304320533, Tearcher 3, nezha, 25, 1333235322, IT 现在需要对这个员工信息文件进行增删改查 一. 基础必做: 可以进行查询,支持三种语法: select 列名1,列名2,… where 列名条件 支持:大于小于等于,还要支持模糊查找. 示例: select name, age wh

第四周作业 员工信息表程序

员工信息表程序,主要用到知识点: 1.文件的读写操作 2.程序目录规范化 3.不同目录间文件的调用 本周学习内容: 一.序列化和反序列化 序列化:字典等类型变成字符串存到内存. a.json.dumps(变量)(字典等简单类型的序列化): b.pickle.dumps(变量)  (只针对本语言的函数等所有类型的序列化) 反序列化:内存的字符串变成字典等类型读出来. a.可以用eval()针对字典类型: b.json.loads(f.read()): c.pickle.loads(f.read()

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

作业要求及初步思路 员工信息表程序,实现增删改查操作: ① 可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where age > 22 select * from staff_table where dept = "IT" select * from staff_table where enroll_date like "2013"② 解决方案: sql语句的python解析问题,即将用户输入的sql

Python开发【第xxx篇】函数练习题-----员工信息表

文件存储格式如下: id,name,age,phone,job 1,Alex,22,13651054608,IT 2,Egon,23,13304320533,Tearcher 3,nezha,25,1333235322,IT 现在需要对这个员工信息文件进行增删改查. 基础必做: a.可以进行查询,支持三种语法: select 列名1,列名2,- where 列名条件 支持:大于小于等于,还要支持模糊查找. 示例: select name,age where age>22   #> < s

打印简单公司员工信息表

要求,输入name不为空,输入次数最多3次,3次后跳出程序: 知识点: raw_input str转int whil if elif else continue break for 导入模块 引用变量值 格式化输出 vim #!/usr/bin/env python import sys user_name = "carson" this_year = 2014 counter  = 0 while True:     if counter < 3:         name =

python-作业:员工信息表

程序可实现以下功能:1.查询,输入select name,age from staff_table where age > 22,查询到符合要求的信息: 输入select * from staff_table where dept = "IT",查询到符合要求的信息: 输入select * from staff_table where enroll_date like "2013",查询到符合要求的信息.2.创建,输入insert Mickle,22,1365

L01-04:python查询员工信息表练习

#decoding=utf-8 '''编写可供用户查询的员工信息表! 1|用户认证    ID Name department phone    查询关键字:姓名''' import linecache input01=raw_input("pls write your name:") i=1 name=[] count = len(open('user.txt','rU').readlines()) while i<=count:         fline = linecac

Python下用List对员工信息表进行模糊匹配

#需求 用户可以模糊查询员工信息 显示匹配了多少条,匹配字符需要高亮度显示 #脚本内容 #!/usr/bin/env python #_*_ coding:utf-8 _*_ while True:         info = 'info.txt'         f = file(info)         search=raw_input('Please Engter You Search Info: ')         for line in f.readlines():       

无废话ExtJs 入门教程十五[员工信息表Demo:AddUser]

无废话ExtJs 入门教程十五[员工信息表Demo:AddUser] extjs技术交流,欢迎加群(201926085) 前面我们共介绍过10种表单组件,这些组件是我们在开发过程中最经常用到的,所以一定要用到非常熟练才可以,今天我们会通过一个员工信息表实例,再把这些组件串一下. (1)TextField  (2)Botton  (3)NumberField (4)Hidden (5)DataFiedl (6)RadioGroup (7)CheckBoxGroup (8)Combobox (9)F