s9.16作业,员工信息表
轉(zhuǎn)載https://blog.csdn.net/qq_35883464/article/details/83151464
實現(xiàn)員工信息表
文件存儲格式如下:
id,name,age,phone,job
1,Alex,22,13651054608,IT
2,Egon,23,13304320533,Tearcher
3,nezha,25,1333235322,IT
現(xiàn)在需要對這個員工信息文件進行增刪改查。
不允許一次性將文件中的行都讀入內(nèi)存。
基礎必做:
a.可以進行查詢,支持三種語法:
select 列名1,列名2,… where 列名條件
支持:大于小于等于,還要支持模糊查找。
示例:
select name, age where age>22
select * where job=IT
select * where phone like 133
進階選做:
b.可創(chuàng)建新員工記錄,id要順序增加
c.可刪除指定員工記錄,直接輸入員工id即可
d.修改員工信息
語法:set 列名=“新的值” where 條件
#先用where查找對應人的信息,再使用set來修改列名對應的值為“新的值”
注意:要想操作員工信息表,必須先登錄,登陸認證需要用裝飾器完成
其他需求盡量用函數(shù)實現(xiàn)
---------------------
作者:陳宸-研究僧
來源:CSDN
原文:https://blog.csdn.net/qq_35883464/article/details/83151464
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!
# 讀取文件—— def get_line(filename):with open(filename,'r',encoding='utf-8') as f:for line in f:line = line.strip()line_lst = line.split(',')yield line_lst# 員工信息表 dic = {'name':1,'id':0,'age':2,'phone':3,'job':4}def condition_filter(condition):'''條件_篩選'''condition = condition.strip()if '>' in condition:col,val = condition.split('>')val = val.strip()col = col.strip()g = get_line('userinfo')for line_lst in g:if int(line_lst[dic[col]]) > int(val):yield line_lstif '<' in condition:col,val = condition.split('<')val = val.strip()col = col.strip()g = get_line('userinfo')for line_lst in g:if int(line_lst[dic[col]]) < int(val):yield line_lstif '=' in condition:col,val = condition.split('=')val = val.strip()col = col.strip()g = get_line('userinfo')for line_lst in g:if int(line_lst[dic[col]]) == int(val):yield line_lstelse:print('沒有符合條件的員工')def views(view_lst,staff_g): # view_list = ['name','age']'''展示符合條件的員工信息'''if '*' in view_lst:view_lst = dic.keys()for staff_info in staff_g: # staff_info已經(jīng)拿到了正確的員工信息,是列表[1,Alex,22,13651054608,IT]for i in view_lst:print(staff_info[dic[i]],end=' ')print(' ')#接受用戶信息—— ret = input('輸入要搜索的員工信息:') # ret = 'select age,name 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) --------------------- 作者:陳宸-研究僧 來源:CSDN 原文:https://blog.csdn.net/qq_35883464/article/details/83151464 版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!
?
轉(zhuǎn)載于:https://www.cnblogs.com/saolv/p/10027550.html
總結(jié)
以上是生活随笔為你收集整理的s9.16作业,员工信息表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “月隐云树外”下一句是什么
- 下一篇: 微信网名兔子符号