• Python_查找员工信息-48


    '''
    查找出userinfo文件中年龄大于22岁的员工姓名和年龄
    1,Alex,22,13651054608,IT
    2,Egon,23,13304320533,Tearcher
    3,nezha,25,1333235322,IT
    select name,age where age>22
    '''
    # 员工信息表:完善代码,背下来给代码加注释
    dic = {'name': 1,'id':0,'age':2,'phone':3,'job':4}
    # 读取文件 —— 将文件中的内容整理到内存里
    def get_line(filename):
        with open(filename, encoding='utf-8') as f:
            for line in f:
                line = line.strip()
                line_lst = line.split(',')
                yield line_lst
    
    # get_line('userinfo')
    
    def condition_filter(condition):
        '''条件筛选'''
        condition = condition.strip()
        if '>' in condition:
            col,val = condition.split('>')
            g = get_line('userinfo')
            for line_lst in g:
                if int(line_lst[dic[col]]) > int(val):
                    yield line_lst
    
    def views(view_lst,staff_g):
        '''展示符合条件的员工信息'''
        if '*' in view_lst:
            view_lst = dic.keys()
        for staff_info in staff_g:
            #['name', 'age']
            info = []
            for i in view_lst:
                # print(staff_info[dic[i]], end=' ')
                info.append(staff_info[dic[i]])
            # print('')
            print(info)
    
    #接受用户信息 —— 分析 信息
    # ret = input('>>>')
    ret = 'select name,job,age where age>22'
    view, condition = ret.split('where')
    view = view.replace('select','').strip()
    view_lst = view.split(',')
    # print(view_lst, condition)
    g = condition_filter(condition)
    views(view_lst,g)
    
    # print(view_lst,condition)
    # print('aaa********aaab'.strip('ab')) # ********
    # print(view.split('select ').pop(0))
    # print(view.replace('select','').strip())
  • 相关阅读:
    python中的面向对象编程
    python global vs nonlocal (2)
    python3 nonlocal vs global
    poj蚂蚁问题
    C/C++ static vs global
    砝码问题
    Wythoff's game
    C++中的::operator new, ::operator delete
    客户信息表 自我汇总 待确认
    Oracle Savepoint
  • 原文地址:https://www.cnblogs.com/LXL616/p/10699624.html
Copyright © 2020-2023  润新知