1. '''
  2. 查找出userinfo文件中年龄大于22岁的员工姓名和年龄
  3. 1,Alex,22,13651054608,IT
  4. 2,Egon,23,13304320533,Tearcher
  5. 3,nezha,25,1333235322,IT
  6. select name,age where age>22
  7. '''
  8. # 员工信息表:完善代码,背下来给代码加注释
  9. dic = {'name': 1,'id':0,'age':2,'phone':3,'job':4}
  10. # 读取文件 —— 将文件中的内容整理到内存里
  11. def get_line(filename):
  12. with open(filename, encoding='utf-8') as f:
  13. for line in f:
  14. line = line.strip()
  15. line_lst = line.split(',')
  16. yield line_lst
  17.  
  18. # get_line('userinfo')
  19.  
  20. def condition_filter(condition):
  21. '''条件筛选'''
  22. condition = condition.strip()
  23. if '>' in condition:
  24. col,val = condition.split('>')
  25. g = get_line('userinfo')
  26. for line_lst in g:
  27. if int(line_lst[dic[col]]) > int(val):
  28. yield line_lst
  29.  
  30. def views(view_lst,staff_g):
  31. '''展示符合条件的员工信息'''
  32. if '*' in view_lst:
  33. view_lst = dic.keys()
  34. for staff_info in staff_g:
  35. #['name', 'age']
  36. info = []
  37. for i in view_lst:
  38. # print(staff_info[dic[i]], end=' ')
  39. info.append(staff_info[dic[i]])
  40. # print('')
  41. print(info)
  42.  
  43. #接受用户信息 —— 分析 信息
  44. # ret = input('>>>')
  45. ret = 'select name,job,age where age>22'
  46. view, condition = ret.split('where')
  47. view = view.replace('select','').strip()
  48. view_lst = view.split(',')
  49. # print(view_lst, condition)
  50. g = condition_filter(condition)
  51. views(view_lst,g)
  52.  
  53. # print(view_lst,condition)
  54. # print('aaa********aaab'.strip('ab')) # ********
  55. # print(view.split('select ').pop(0))
  56. # print(view.replace('select','').strip())

Python_查找员工信息-48的更多相关文章

  1. python_实现员工信息表

    实现员工信息表 文件存储格式如下:id,name,age,phone,job1,Alex,22,13651054608,IT2,Egon,23,13304320533,Tearcher3,nezha, ...

  2. 小项目: low版本的 员工信息程序:

    ### 附加两个文件1 user_info 和worker_info flag = False def logon(): #登录函数 global flag usr = input('Username ...

  3. SQL-15 查找employees表所有emp_no为奇数,且last_name不为Mary的员工信息,并按照hire_date逆序排列

    题目描述 查找employees表所有emp_no为奇数,且last_name不为Mary的员工信息,并按照hire_date逆序排列CREATE TABLE `employees` (`emp_no ...

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

    无废话ExtJs 入门教程十五[员工信息表Demo:AddUser] extjs技术交流,欢迎加群(201926085) 前面我们共介绍过10种表单组件,这些组件是我们在开发过程中最经常用到的,所以一 ...

  5. python-查询员工信息表

    python查询员工信息表 基本要求: 用户可以模糊查询员工信息 显示匹配了多少条,匹配字符需要高亮显示 代码: #!/usr/env python #coding:utf-8 import time ...

  6. Python 员工信息管理系统

    学Python将近一个月了,第一次写了两百多行代码,一个很简单的脚本. 员工信息管理系统: 需求: 1.管理员账户能够增加,删除,修改,查询员工信息,并且设置管理员账户. 2.普通账户可以查看所有员工 ...

  7. python3 员工信息表

    这是最后一条NLP了......来吧 十二,动机和情绪总不会错,只是行为没有效果而已 动机在潜意识里,总是正面的.潜意识从来不会伤害自己,只会误会的以为某行为可以满足该动机,而又不知道有其他做法的可能 ...

  8. python全栈开发中级班全程笔记(第二模块、第三章)(员工信息增删改查作业讲解)

    python全栈开发中级班全程笔记 第三章:员工信息增删改查作业代码 作业要求: 员工增删改查表用代码实现一个简单的员工信息增删改查表需求: 1.支持模糊查询,(1.find name ,age fo ...

  9. day12 python作业:员工信息表

    作业要求: 周末大作业:实现员工信息表文件存储格式如下:id,name,age,phone,job1,Alex,22,13651054608,IT2,Egon,23,13304320533,Tearc ...

随机推荐

  1. MyBatis笔记----MyBatis数据库表格数据修改更新的两种方法:XML与注解

    继上 http://www.cnblogs.com/tk55/p/6659285.html http://www.cnblogs.com/tk55/p/6660477.html 注解 将id:8 na ...

  2. IIS ip访问限制插件

    Dynamic IP Restrictions Overview The Dynamic IP Restrictions Extension for IIS provides IT Professio ...

  3. SpringBoot自定义属性配置以及@ConfigurationProperties注解与@Value注解区别

    我们可以在application.properties中配置自定义的属性值,为了获取这些值,我们可以使用spring提供的@value注解,还可以使用springboot提供的@Configurati ...

  4. Android WebSocket开发

    一,在模块build.gradle中添加webSocket的依赖包 //WebSocket 依赖包 implementation 'com.neovisionaries:nv-websocket-cl ...

  5. [Hive_7] Hive 中的 DDL 操作

    0. 说明 DDL(Data Definition Languages)语句:数据定义语言 这些语句定义了不同的数据段.数据库.表.列.索引等数据库对象的定义. 常用的语句关键字主要包括 create ...

  6. FAT32格式和NTFS格式区别

    NTFS(Windows):支持最大分区2TB,最大文件2TB: FAT16(Windows):支持最大分区2GB,最大文件2GB: FAT32(Windows):支持最大分区128GB,最大文件4G ...

  7. Vue学习之路3-浅析Vue-cli搭建项目后的目录结构

    1.前言 Vue并不限制你的代码结构.但是,它规定了一些需要遵守的规则:1.应用层级的状态应该集中到单个store对象中.2.提交mutation是更改状态的唯一方法,并且这个过程是同步的.3.异步逻 ...

  8. 《Java大学教程》—第22章 多线程程序

    22.2 进程(process):P551时间切片(time-slicing):处理器只是完成了一个任务的一部分工作,然后完成下一个任务的一部分工作,因为处理吕每次完成工作的时间都非常短,因此看起来这 ...

  9. python 逻辑判断 循环练习题

    # 1.判断下列列逻辑语句句的True,False.# 1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 ...

  10. SpringBoot MVC 拦截器

    SpringBoot MVC 环境搭建 在pom.xml添加spring-boot-starter-web   <dependency>   <groupId>org.spri ...