zoukankan      html  css  js  c++  java
  • Python__员工信息表

    作业如下:

      1 #Author wangmengzhu
      2 import os
      3 
      4 def select():
      5     '''
      6            查询语法如下:
      7            select name,age from staff_table where age > 22
      8          select  * from staff_table where dept = "IT"
      9          select  * from staff_table where enroll_date like "2013"
     10            '''
     11     data = input('请输入你的命令>>: ')
     12     data1 = data.split(' ')
     13     #print(data1)
     14     if data == ("select name,age from staff_table where age > %s" % (data1[7])):
     15         with open('作业.txt', 'r+', encoding='utf-8') as f:
     16             list1 = []
     17             count = 0
     18             for line in f:
     19                 i = line.strip().split(',')
     20                 if i[2] > data1[7]:
     21                     list1.append(i)
     22             for s in list1:
     23                 count = count + 1
     24             print('满足条件的个数为>>:%s'%(count))
     25                 #print(list1)
     26             for j in list1:
     27                 print(j)
     28     elif data == ('select * from staff_table where dept = %s'%(data1[7])):
     29         with open('作业.txt', 'r+', encoding='utf-8') as f:
     30             list2 = []
     31             count = 0
     32             for line in f:
     33                 i = line.strip().split(',')
     34                 if i[4] == data1[7]:
     35                     list2.append(i)
     36                     for s in list2:
     37                         count = count + 1
     38                     print('满足条件的个数为>>:%s' % (count))
     39                     # print(list1)
     40                     for j in list2:
     41                         print(j)
     42     elif data == ('select * from staff_table where enroll_date like %s'%(data1[7])):
     43         with open('作业.txt', 'r+', encoding='utf-8') as f:
     44             list3 = []
     45             list4 = []
     46             count = 0
     47             for line in f:
     48                 i = line.strip().split(',')
     49                 list3.append(i)
     50                 #print(list3)
     51             for j in list3:
     52                 m = j[5].split('-')
     53                 if m[0] == data1[7]:
     54                     list4.append(j)
     55             for s in list4:
     56                 count = count + 1
     57             print('满足条件的条数为>>:%s'%(count))
     58             for j in list4:
     59                 print(j)
     60     else:
     61         print('你输入的命令不合法!!')
     62 def add():
     63     '''
     64     注释信息:
     65     可创建新员工纪录,以phone做唯一键,staff_id需自增
     66     name,age,phone,dept,enroll-date
     67     例如:mengzhu,23,12345678901,IT,2013-04-01
     68     '''
     69     data = input('请输入你的命令>>: ')
     70     data1 = data.split(',')
     71     with open('作业.txt','r+',encoding = 'utf-8') as f:
     72         list5 = []
     73         for line in f:
     74             s = line.strip().split(',')
     75             m = s[3]
     76             list5.append(m)
     77         if data1[2] in list5:
     78             print('这条记录已经存在')
     79             exit()
     80         else:
     81             my_index = str(len(list5)+1)
     82             data1.insert(0,my_index)
     83             data1 = ','.join(data1)
     84         f.write('
    ')
     85         f.write(data1)
     86 def delete():
     87     '''
     88       注释信息:
     89           可删除指定员工信息纪录,输入员工id,即可删除
     90           delete * from staff_table where id = 3
     91       '''
     92     data = input('请输入你要删除的命令>>: ')
     93     data1 = data.split(' ')
     94     with open('作业.txt','r+',encoding = 'utf-8') as f,
     95         open('new.txt','w+',encoding = 'utf-8') as f1:
     96         if data == ('delete * from staff_table where id = %s'%(data1[7])):
     97             for line in f:
     98                 i = line.strip().split(',')
     99                 if i[0] != data1[7]:
    100                     i = ','.join(i)
    101                     f1.write(i)
    102                     f1.write('
    ')
    103                 else:
    104                     continue
    105 
    106 
    107 os.remove('作业.txt')
    108 os.rename('new.txt', '作业.txt')
    109 def update():
    110     '''
    111            注释信息:
    112            可修改员工信息,语法如下:
    113          UPDATE staff_table SET dept="Market" WHERE where dept = "IT"
    114            '''
    115     data = input('请输入你要更改的命令>>: ')
    116     data1 = data.split(' ')
    117     if data == ('UPDATE staff_table SET dept = %s where dept = %s'%(data1[5],data1[9])):
    118         with open('作业.txt','r+',encoding = 'utf-8') as f:
    119             for line in f:
    120                 i = line.strip().split(',')
    121                 #print(i)
    122                 if i[4] == data1[9]:
    123                     i[4] = data1[5]
    124                     print(i)
    125                 else:
    126                     continue
    127 
    128 def main():
    129     cmd_dic = {
    130         'select':select,
    131         'delete':delete,
    132         'update':update,
    133         'add':add
    134     }
    135     while True:
    136         sql = input('输入要查询的sql语句>>: ').strip()
    137         if not sql:continue
    138         cmd_info = sql.split()
    139         cmd = cmd_info[0]
    140         if cmd in cmd_dic:
    141             cmd_dic[cmd]()
    142         else:
    143             print('cmd not exists')
    144 
    145 main()
    View Code
  • 相关阅读:
    PYQT5学习笔记之各模块介绍
    socket网络编程
    python异常处理
    面向对象三大特性:继承,多态,封装
    面向对象编程
    解密for循环工作机制之迭代器,以及生成器、三元表达式与列表解析、解压序列
    文件处理之处理模式及其黑魔法
    php对xml文件的增删改查
    jquery.zclip实现点击拷贝文字功能
    php 验证访问浏览器是电脑还是手机
  • 原文地址:https://www.cnblogs.com/wangmengzhu/p/7207144.html
Copyright © 2011-2022 走看看