zoukankan      html  css  js  c++  java
  • python 学习笔记 day12 作业讲解--员工信息表

    def func():
        msg=input(">>>").split(' ')   #将输入内容按照空格分割
        msg_name=msg[1].split(',')
        # condition=msg[-1]
        # print(condition,type(condition))
        condition = msg[msg.index('where') + 1:]
        if len(condition)==1:
            condition = condition[0]
        dic={}
        with open('info',mode='r',encoding='utf-8') as file:
            for line in file:
                line=line.split(',')
                dic['id'],dic['name'],dic['age'],dic['phone'],dic['job']=line[0],line[1],line[2],line[3],line[4].strip()
                for i in msg_name:
                    if i in condition:
                        condition=condition.replace(i,dic[i])
                        try:
                            if eval(condition):
                                for j in msg_name:
                                    print(str(dic[j])+'  ',end='')
                                print('
    ')
                            condition = msg[-1]
                        except:
                            condition_list=condition.split('=')
                            if condition_list[1] == dic[condition_list[0]]:
                                for j in msg_name:
                                    print(str(dic[j])+'  ',end='')
                if msg_name==['*']:
                    if '=' in condition:
                        condition_list=condition.split('=')
                        if condition_list[1]==dic[condition_list[0]]:
                            print(str(dic['id'])+' ',str(dic['name'])+' ',str(dic['phone'])+' ',str(dic['job']))
                    elif '>' in condition:
                        condition_list = condition.split('>')
                        if condition_list[1] < dic[condition_list[0]]:
                            print(str(dic['id']) + ' ', str(dic['name']) + ' ', str(dic['phone']) + ' ', str(dic['job']))
                    elif '<' in condition:
                        condition_list = condition.split('<')
                        if condition_list[1] > dic[condition_list[0]]:
                            print(str(dic['id']) + ' ', str(dic['name']) + ' ', str(dic['phone']) + ' ', str(dic['job']))
    
                    else:
                        if condition[2] in str(dic[condition[0]]):
                            print(str(dic['id']) + ' ', str(dic['name']) + ' ', str(dic['phone']) + ' ', str(dic['job']))
    
    func()

    我真的写了好久啊,写着写着发现可以有更简单的方法,前面实现的太复杂了,,就是分割的时候可以按照select 和 where 关键字在列表中的索引进行!!

    可是我已经不想改了,生无可恋.jpg

    talk is cheap,show me the code
  • 相关阅读:
    用智慧明辨之
    做一个成功的软件架构师需要哪些素质?
    如何成为一名优秀的产品经理
    项目管理中的冲突管理
    .Net 缓存依赖详解
    从程序制作到构架制作
    如何做好一名软件团队的领导者
    需求变更的代价
    页面缓存的实现
    项目风险盘点
  • 原文地址:https://www.cnblogs.com/xuanxuanlove/p/9583989.html
Copyright © 2011-2022 走看看