4_python之路之模拟工资管理系统
python之路之模拟工资管理系统
1.程序说明:Readme.txt
1.程序文件:salary_management.py info.txt 2.程序文件说明:salary_management.py-主程序 info.txt-存放数据 3.python版本:python-3.5.3 4.程序使用:将salary_management.py和info.txt放到同一目录下, python salary_management.py 5.程序解析: (1)满足 1. 查询员工工资 2. 修改员工工资 3. 增加新员工记录 4. 退出 功能需求 6.实现知识点:
(1)对文件的增删改查操作
(2)对列表字典的读写操作
(3)对函数的使用操作
(4)对全局变量和局部变量的使用操作 7.程序执行结果:请亲自动手执行或者查看我的博客 8.程序博客地址:
2.程序代码:salary_management.py
#!/usr/bin/env python
# _*_ coding: utf-8 _*_
# author:chenjianwen
# email:1071179133@qq.com
import sys,os ##定义操作列表
ops = ['查询员工工资','修改员工工资','增加新员工记录','退出'] info = {}
def get_info():
##读取文件得到员工信息
global info
with open('info.txt',mode='r',encoding='utf-8') as f_r:
for line in f_r:
line = line.rstrip('\n')
if line:
name = line.split(' ')[0]
slary = line.split(' ')[1]
info[name] ={
'name':'%s'%name,
'slary':'%s'%slary,
'other':''
} ##定义写操作函数
def write(name,slary):
with open('info.txt', mode='a+', encoding='utf-8') as f_w:
f_w.write('\n%s %s'%(name,slary)) ##定义修改员工信息函数
def replace(old_name,new_name,old_slary,new_slary):
f_r = open('info.txt',mode='r',encoding='utf-8')
f_w = open('info1.txt', mode='w+', encoding='utf-8')
for line in f_r:
line = line.strip()
if old_name in line:
line = line.replace(old_name,new_name)
line = line.replace(old_slary,new_slary)
f_w.write(line + '\n')
f_r.close()
f_w.close() while True:
get_info()
##打印操作菜单
for key,ops_lists in enumerate(ops):
print(key,ops_lists,)
select = input("请选择操作序号:")
if select.isdigit():
pass
else:
print("请输入数字")
continue if select.startswith(''):
input1 = input("请输入员工名字:")
print("%s的工资是:%s" %(input1,info[input1]['slary']))
continue elif select.startswith(''):
input1 = input("请输入修改员工的名字:")
print("%s现在的信息是:名字:%s,工资:%s"%(input1,info[input1]['name'],info[input1]['slary']))
input2 = input("名字修改为:")
input3 = input("工资修改为:")
replace(input1, input2,info[input1]['slary'], input3)
os.remove('info.txt')
os.rename('info1.txt','info.txt')
print("员工信息修改成功")
get_info()
continue elif select.startswith(''):
input1 = input("请输入增加员工的名字:")
input2 = input("请输入增加员工的工资:")
write(input1,input2)
print("新增员工信息成功")
get_info()
continue elif select.startswith(''):
print("退出成功")
sys.exit(1)
3.程序保存数据文件:info.txt
chenjianwen04 88888
chenjianwen05 888888
chenjianwen22 222222222 chenjianwen002 444444444444444
chenjianwen06 6666666
chenjianwen08 88888888888888888 chenjianwen12 8888 chenjianwen33 33333333
4.程序执行效果:
5.The end
6.改用横向输出效果:
Python 2 :
print打印的时候,如果结尾有逗号,打出来时候不会换行。但是在python3里面就不行
Python3:
print最后加个参数end=""
4_python之路之模拟工资管理系统的更多相关文章
- 职工工资管理系统 --C语言
#include<stdio.h> #include<string.h> #include<stdlib.h> #define NUM 1000 void ente ...
- Python作业工资管理系统(第三周)
作业内容: 实现效果: 从info.txt文件中读取员工及其工资信息,最后将修改或增加的员工工资信息也写入原info.txt文件. 效果演示: 1. 查询员工工资 2. 修改员工工资 3. 增加新员工 ...
- 超实用 2 ArrayList链表之 员工工资管理系统
package ArrayList的小程序; import java.io.*; import java.util.*; public class kkk { /** * 作者:Mr.fan * 功能 ...
- JAVA学习之路(多线程)---模拟售票(细解)
首先看题目描述: 假设有火车票100张,创建4个线程模拟4个售票点,每100ms售出一张,打印出售票过程,格式如下: 窗口3:卖出第100张票 窗口4:卖出第99张票 ............ ... ...
- 老男孩Day3作业:工资管理系统
作业需求: 1.从info.txt文件中读取员工及其工资信息,最后将修改或增加的员工工资信息也写入原info.txt文件. 2.能增查改员工工资 3.增.改员工工资用空格分隔 4.实现退出功能 1)编 ...
- python实现简易工资管理系统(Salary Manage)源码
一.需求: 1.导入文件读取员工的信息和工资信息,最后将增加.删除或修改的员工工资信息写入原来的文件中 2.能够实现员工工资信息的增删改查 3.当增加和修改员工信息时用户用空格分隔员工姓名和薪资 4. ...
- HDU 2073 无限的路 (模拟)
题目链接 Problem Description 甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形: 甜甜的好朋友蜜蜜发现 ...
- LeetCode.874-走路机器人模拟(Walking Robot Simulation)
这是悦乐书的第335次更新,第360篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第205题(顺位题号是874).网格上的机器人从点(0,0)开始并朝北.机器人可以接收三 ...
- HRMS(人力资源管理系统)-SaaS架构设计-概要设计实践
一.开篇 前期我们针对架构准备阶段及需求分析这块我们写了2篇内容<HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性.非功能性.关键约束)-上篇><HRMS(人 ...
随机推荐
- PHP中查看PHP基本信息
1.PHP_BINARY:查看PHP执行exe文件路径 <?php echo PHP_BINARY; ?> E:\PHP\php-7.1.3-Win32-VC14-x64\php.exe ...
- UE4 引擎基础类说明
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/76048437 作者:car ...
- oracle 查询XML操作、操作系统文件
--1.随机数 select dbms_random.value from dual; select mod(dbms_random.random, 10) from dual; --0-9随机数 s ...
- times(NULL) Segmentation fault
****************************************************************************** * times(NULL) Segment ...
- HDU3853LOOPS (师傅逃亡系列•三)(基础概率DP)
Akemi Homura is a Mahou Shoujo (Puella Magi/Magical Girl). Homura wants to help her friend Madoka sa ...
- Hadoop内幕
http://www.itxm.net/a/dashuju/2016/0610/279.html
- 玩转Eclipse — 自动代码规范检查工具Checkstyle
大项目都需要小组中的多人共同完成,但是每个人都有自己的编码习惯,甚至很多都是不正确的.那么如何使小组所有开发人员都遵循某些编码规范,以保证项目代码风格的一致性呢?如果硬性地要求每个开发人员在提交代码之 ...
- 《DSP using MATLAB》示例Example 8.1
终于看到第8章了,加油,继续努力! N为奇数,有极点位于实数轴上.事实上,所有极点位于Ωc=0.5为半径的圆上,而不是单位圆.
- .NET类库
1.如何让发布的C#的DLL类库中的方法带有注释说明 一个类库让第三方引用时,默认情况下生成类库时不携带注释,所以别人引用这个类库时就不是很方便理解类方法的作用和每个参数的含义,若是能携带方法的说明注 ...
- 借助CustomBehaviorsLibrary.dll写出水印效果(转)
在项目中载入这个dll 之后引用 使用方法具体如下图: 在这里需要注意到是项目中对interactivity的引用 : 好文要顶 关注我 收藏该文