栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

使用Python创建员工信息表的实例代码

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Python创建员工信息表的实例代码

本篇文章给大家带来的内容是关于使用Python创建员工信息表的实例代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

 

这是一道综合练习题,要求如下:
创建员工信息表,格式为:

#字段1,字段2,字段3,字段4,字段5
#1,***  ,***  ,  *******,***
#2,***,  ***, *******,***
#3,*** ,***   ,  *****,  ***

要求可以根据条件语句进行查询,格式为 select where 命令之间用空格隔开

def emp(): 
    lis_res = [[],[],[],[],[]] #定义**终存储数据的列表
    with open('yuangong','r',encoding='utf-8') as f:
        cha = input('请输入查询语句,格式为:select *** where *** > ***').strip()
        lis = cha.split(' ')#定义存放输入语句的列表
        n = [] #n表示符合查询变量的字符串所在列表位置
        if lis[0] == 'select' and lis[2] == 'where':#设定关键字条件
            lis1 = lis[1].split(',')#定义查询元素的列表
            lis_title = f.readline().split(',') #文件中第一行为字段名
            lis_title = [s.strip() for s in lis_title]#列表推导式,去掉每个元素两边的空格
            for v in lis1:#循环遍历要查询的字段是否在文件中
                if v in lis_title:
                    n.append(lis_title.index(v))
            if '*' in lis[1]:n=[0,1,2,3,4]#定义使用*模糊查询
            if n == []: #如果字段不存在则退出程序
                print('查询的字段不存在')
                return
            if lis[4] == '>':#检查条件语句是否是大于号
                if lis[3] in lis_title: #字段是否包含条件语句
                    m = lis_title.index(lis[3]) #m表示符合条件语句的字符串所在列表位置
                else:
                    print('字段不含有该条件')
                    return
                for v in f:
                    lis_f = v.split(',')#把取出来的每条数据都转化成列表
                    lis_f = [s.strip() for s in lis_f] #列表推导式,去掉每个元素两边的空格
                    if lis_f[m].isdigit() and lis[5].isdigit():#检查条件是否都为数字
                        if int(lis_f[m]) > int(lis[5]):
                            for i in n:#如果条件成立则把结果追加到lis_res中
                                lis_res[i].append(lis_f[i])
                    else:print('无法进行比较')
            elif lis[4] == '<':#检查条件语句是否是大于号
                if lis[3] in lis_title: #字段是否包含条件语句
                    m = lis_title.index(lis[3]) #m表示符合条件语句的字符串所在列表位置
                else:
                    print('字段不含有该条件')
                    return
                for v in f:
                    lis_f = v.split(',')#把取出来的每条数据都转化成列表
                    lis_f = [s.strip() for s in lis_f] #列表推导式,去掉每个元素两边的空格
                    if lis_f[m].isdigit() and lis[5].isdigit():#检查条件是否都为数字
                        if int(lis_f[m]) < int(lis[5]):
                            for i in n:#如果条件成立则把结果追加到lis_res中
                                lis_res[i].append(lis_f[i])
                    else:print('无法进行比较')
            elif lis[4] == '=':#检查条件语句是否是大于号

                if lis[3] in lis_title: #字段是否包含条件语句
                    m = lis_title.index(lis[3]) #m表示符合条件语句的字符串所在列表位置
                else:
                    print('字段不含有该条件')
                    return
                for v in f:
                    lis_f = v.split(',')#把取出来的每条数据都转化成列表
                    lis_f = [s.strip() for s in lis_f] #列表推导式,去掉每个元素两边的空格
                    if lis_f[m] == lis[5]:
                        for i in n:#如果条件成立则把结果追加到lis_res中
                            lis_res[i].append(lis_f[i])
            elif lis[4] == 'like':#定义like模糊搜索
                if lis[3]in lis_title:
                    m = lis_title.index(lis[3]) #m表示符合条件语句的字符串所在列表位置
                else:
                    print('字段不含有该条件')
                    return
                for v in f:
                    lis_f = v.split(',')#把取出来的每条数据都转化成列表
                    lis_f = [s.strip() for s in lis_f] #列表推导式,去掉每个元素两边的空格
                    if lis[5] in lis_f[m]:
                        for i in n:
                            lis_res[i].append(lis_f[i])                
            else:print('请以空格将各个名字隔开')       
        else:print('请输入正确的指令')
    if n!= []:#防止乱输指令后报错
        for i in range(len(lis_res[n[0]])):#输出结果
            for k in n:
                print(lis_res[k][i],end='  ')
            print('
',end='')
emp()
请输入查询语句,格式为:select *** where *** > ***select * where phone like 188
1  tom  25  18888888888  it

以上就是使用Python创建员工信息表的实例代码的详细内容,更多请关注考高分网其它

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/805803.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号