小项目: low版本的 员工信息程序:
### 附加两个文件1 user_info 和worker_info flag = False
2 def logon(): #登录函数
3 global flag
4 usr = input('Username:').strip()
5 pwd = input('Password:').strip()
6 with open('user_info',encoding= 'utf-8') as f:
7 for line in f.readlines():
8 if usr+'\t'+pwd == line.strip():
9 print('登录成功')
10 flag = True
11 return
12 else:
13 print('输入错误')
14
15
16 def id_find(): # 支持输入ID 准确查找
17 find_id = input('请输入您要查找的员工信息的ID: ')
18 print('ID, Name, Age, Phone, Job:')
19 with open('worker_info','r+',encoding='utf-8') as f:
20 f.seek(0)
21 lines = f.readlines()
22 print(lines[int(find_id)-1])
23
24
25 def age_find():# 支持输入两个age 来找范围里面的 信息
26 find_age_1 = input('请输入您要查找的大于某某年龄段的数字:')
27 find_age_2 = input('请输入您要查找的小于某某年龄段的数字:')
28 print('ID, Name, Age, Phone, Job:')
29 with open('worker_info','r+',encoding='utf-8') as f:
30 f.seek(0)
31 for line in f.readlines():
32 lis = line.strip().split(',')
33 if int(lis[2]) > int(find_age_1) and int(lis[2]) < int(find_age_2):
34 print(line)
35
36
37 def kwargs_find():# 支持关键字模糊查找
38 find_kwargs = input('请输入您的关键字:')
39 print('ID, Name, Age, Phone, Job:')
40 with open('worker_info','r+',encoding='utf-8') as f:
41 for line in f.readlines():
42 if find_kwargs in line:
43 print(line)
44
45
46 def warpper(fu):# 认证
47 def inner():
48 if flag == False:
49 print('请先登录')
50 logon()
51 ret = fu()
52 return ret
53 return inner
54
55
56 @warpper
57 def find_worker(): # 查找函数
58 print('1, ID查找 \n2, 年龄段查找 \n3, 关键字模糊查找 \n4, 查看全部信息')
59 find_id = input('请输入您选择的查找方法:').strip()
60 if find_id == '1':
61 id_find()
62 elif find_id == '2':
63 age_find()
64 elif find_id == '3':
65 kwargs_find()
66 elif find_id == '4':
67 print('下面是所有员工信息:')
68 print('ID, Name, Age, Phone, Job:')
69 with open('worker_info','r+',encoding='utf-8') as f:
70 for i in f.readlines():
71 print(i)
72
73
74 @warpper
75 def append_info():# 添加新员工信息
76 name = input('请输入新员工的名字:').strip()
77 age = input('请输入新员工的年龄:').strip()
78 phone = input('请输入新员工的电话:').strip()
79 job = input('请输入新员工的工作:').strip()
80 with open('worker_info', 'a+', encoding='utf-8') as f:
81 f.seek(0)
82 li_lines = f.readlines()
83 f.seek(0,2)
84 f.write(str(len(li_lines)+1)+',%s,%s,%s,%s\n' %(name,age,phone,job))
85
86
87 @warpper
88 def pop_info():#删除指定ID的员工信息
89 pop_id = input('请输入您要删除的员工的ID: ')
90 print('删除成功')
91 with open('worker_info','r+',encoding='utf-8') as f:
92 f.seek(0)
93 lines = f.readlines()
94 lines[int(pop_id)-1] ='该员工已经被删除\n'
95 f.seek(0)
96 for i in lines:
97 f.write(i)
98 return
99
100
101 @warpper
102 def change_info():
103 change_id = input('请输入您要修改的员工信息的ID: ')
104 name = input('请输入新员工的名字:')
105 age = input('请输入新员工的年龄:')
106 phone = input('请输入新员工的电话:')
107 job = input('请输入新员工的工作:')
108 print('修改成功')
109 with open('worker_info','r+',encoding='utf-8') as f:
110 f.seek(0)
111 lines = f.readlines()
112 lines[int(change_id)-1] = '%s,%s,%s,%s,%s\n' %(change_id, name, age, phone, job)
113 f.seek(0)
114 for i in lines:
115 f.write(i)
116 return
117
118
119 def choise():
120 while 1:
121 print('员工信息操作:')
122 print('1, 登录\n2, 查找员工信息\n3, 添加新员工信息\n4, 删除员工信息\n5, 修改员工信息\n6, 退出程序')
123 choose = input('请输入您要操作的功能:').strip()
124 if choose == '1':
125 logon()
126 elif choose == '2':
127 find_worker()
128 elif choose == '3':
129 append_info()
130 elif choose == '4':
131 pop_info()
132 elif choose == '5':
133 change_info()
134 elif choose == '6':
135 return
136 choise()
小项目: low版本的 员工信息程序:的更多相关文章
- VS下如何建立一个新的MFC程序 网络编程 课设 基于C++ MFC 连接数据库 小应用 小项目浅析展示
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/8191036.html 这里不知道会不会有人是真的新手 新新手 不知道怎么 如何建立一个MFC ...
- Python程序练习4--模拟员工信息数据库操作
1.功能简介 此程序模拟员工信息数据库操作,按照语法输入指令即能实现员工信息的增.删.改.查功能. 2.实现方法 架构: 本程序采用python语言编写,关键在于指令的解析和执行:其中指令解析主要 ...
- python作业员工信息表程序(第四周)
作业需求: 1. 员工信息表程序,实现增删改查操作: 2. 可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where age > 22 ...
- qt项目:员工信息管理系统
开发一个员工信息管理系统 一.项目具体要求: 1.用qt开发界面,数据库用QSqlite 数据库文件名:demostudent.db 2.通过界面能够查看到数据库中员工信息表中内容,包括员工姓名.年龄 ...
- python练习程序_员工信息表_基本实例
python实现增删改查操作员工信息文件,可进行模糊查询: http://edu.51cto.com/lesson/id-13276.html http://edu.51cto.com/lesson/ ...
- 小项目特供 贪吃蛇游戏(基于C语言)
C语言写贪吃蛇本来是打算去年暑假写的,结果因为ACM集训给耽搁了,因此借寒假的两天功夫写了这个贪吃蛇小项目,顺带把C语言重温了一次. 是发表博客的前一天开始写的,一共写了三个版本,第一天写了第一版,第 ...
- 【PHP小项目使用MVC架构】
小项目名称是雇员管理系统. mvc是一种项目的开发模式,中文名称为模式视图控制器,是强制程序员将数据的输入.处理.输出分开的一种开发模式. 在这个小项目中,控制器使用service作为后缀名. 项目u ...
- 一个asp.net小项目总结
写这篇文章之前先吐槽一下,最近换了一个公司,是给一个国企做外包,有两个月了,感觉这里的气氛有点不爽,还有点怀念以前的公司.具体听我说来,这里有几个团队,.net,java,手机开发,.net只有6个人 ...
- 团队项目-Alpha2版本发布
第五次团队作业 序言 所属课程 https://edu.cnblogs.com/campus/xnsy/2019autumnsystemanalysisanddesign 作业要求 https://w ...
随机推荐
- vuejs helloworld
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 织梦CMS调用文章第一张图片(非缩略图)终极方法
之前,网上流传了很多在织梦CMS中调用第一张图片的方法,但大体都一样.即删除缩略图字符串,并添加后缀.然而这种方法仅限于jpg图片或其他单独图片类的调用.如果一个站有png.JPG.gif等多种格式. ...
- Linux下安装使用MySQL
网上找那些安装教程比较多的版本,版本只要不是太旧就行. 下载mysql 5.6.28 通用版64位二进制版,二进制版相当于windows的安装包,可以直接安装,如果是源码版,还需要编译后再进行安装. ...
- Python3基础笔记--装饰器
装饰器是十二分重要的高级函数. 参考博客:装饰器 所需前提知识: 1.作用域: LEGB 2.高阶函数 高阶函数是至少满足下列一个条件的函数: 1)接受一个或多个函数作为输入 2)输出一个函数 注意理 ...
- kubernetes学习与实践篇(二) kubernetes1.5 的安装和集群环境部署
kubernetes 1.5 的安装和集群环境部署 文章转载自:http://www.cnblogs.com/tynia/p/k8s-cluster.html 简介: Docker:是一个开源的应用容 ...
- 2019 前端面试题汇总(主要为 Vue)
原文链接:点我 由于我的技术栈主要为Vue,所以大部分题目都是Vue开发相关的. 1. 谈谈你对MVVM开发模式的理解 MVVM分为Model.View.ViewModel三者. Model:代表数据 ...
- [HAOI2007][SDOI2005]反素数
题目:洛谷P1463.BZOJ1053.Vijos P1172.codevs2912. 题目大意:对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g ...
- hibernate 不与数据库对应的注解
@Transient 此注解必须写到get方法上
- 【ICM Technex 2018 and Codeforces Round #463 (Div. 1 + Div. 2, combined) C】 Permutation Cycle
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] p[i] = p[p[i]]一直进行下去 在1..n的排列下肯定会回到原位置的. 即最后会形成若干个环. g[i]显然等于那个环的大 ...
- Hadoop2 伪分布式部署
一.简单介绍 二.安装部署 三.执行hadoop样例并測试部署环境 四.注意的地方 一.简单介绍 Hadoop是一个由Apache基金会所开发的分布式系统基础架构,Hadoop的框架最核心的设计就是: ...