简单的工资管理系统小程序,只是练手

需求如下:

工资管理系统aaa 100000bbb 80000ccc 50000ddd 30000-----以上是info.txt文件-----实现效果:从info.txt文件中读取员工及其工资信息,最后将修改或增加的员工工资信息也写入原info.txt文件。效果演示:1. 查询员工工资2. 修改员工工资3. 增加新员工记录4. 退出
  1 #!/usr/bin/env python
  2 #-*- coding:utf-8 -*-
  3 # @Time    : 2017/9/21 15:19
  4 # @Author  : lichuan
  5 # @File    : salary.py
  6
  7 import  os
  8
 25
 26 def select(read,write):
 27     i=input("please input the employee name:").strip()
 28     for line in read:
 29         if i == line.split()[0]:
 30             print("%s的工资是:%s" % (line.split()[0],line.split()[1]))
 31             return
 32     print("输入错误,请重试!")
 33     read.seek(0)
 34     select(read, write)
 35
 36 def modify(read,write):
 37     # import os
 38     FLAG_TAG=True
 39     m=input("请输入要修改的员工姓名和工资,以空格分隔").strip().split()
 40     if len(m) !=2:
 41         print("输入错误,请重试,以空格分隔!")
 42         modify(read,write)
 43         return
 44     for i in read:
 45         if i.split()[0] == m[0] and m[1].isdigit():
 46             FLAG_TAG=False
 47             i = "%s %s\n" % (m[0], m[1])
 48         write.write(i)
 49     if FLAG_TAG:
 50         print("输入错误,请重试!")
 51         read.seek(0)
 52         write.seek(0)
 53         modify(read,write)
 54     else:
 55         read.close()
 56         write.close()
 57         os.remove("info.txt")
 58         os.rename(".swap", "info.txt")
 59
 60
 61
 62 def add(read,write):
 63     # import os
 64     a=input("请输入员工姓名和工资,以空格分隔").strip().split()
 65     if len(a) !=2:
 66         print("输入错误,请重试,以空格分隔!")
 67         add(read,write)
 68         return
 69
 70     for i in read:
 71         if i.split()[0] == a[0]:
 72             print("用户已存在,请重新添加新用户!")
 73             read.seek(0)
 74             write.seek(0)
 75             add(read,write)
 76             return
 77         write.write(i)
 78     write.write("\n%s %s" %(a[0],a[1]))
 79     read.close()
 80     write.close()
 81     os.remove("info.txt")
 82     os.rename(".swap","info.txt")
 83
 84
 85
 86 def out(read,write):
 87
 88     print("再见!")
 89     # FLAG_TAG=False
 90
 91 item={
 92     1:"查询员工工资",
 93     2:"修改员工工资",
 94     3:"增加新员工记录",
 95     4:"退出"
 96       }
 97
 98 fun={
 99     1:select,
100     2:modify,
101     3:add,
102     4:out
103 }
104
105 FLAG_TAG=True
106
107 while FLAG_TAG:
108     for i in range(1,5):
109         print("%d, %s" %(i,item[i]))
110     choice=input("请选择:").strip()
111     with open(‘info.txt‘,‘r‘,encoding="utf-8") as r_read,open(‘.swap‘,‘w‘,encoding="utf-8") as r_write:
112         if choice.isdigit() and int(choice) >=1 and int(choice)<4:
113             choice=int(choice)
114             fun[choice](r_read,r_write)
115             continue
116         elif choice.isdigit() and int(choice) == 4:
117             FLAG_TAG=False
118             fun[int(choice)](r_read,r_write)
119             break
120         else:
121             print("wrong input,try again!")
122             continue
123     FLAG_TAG=False
时间: 2024-08-02 03:29:49

简单的工资管理系统小程序,只是练手的相关文章

利用x64_dbg破解一个最简单的64位小程序

最近在研究学习一些逆向的东西,其实之前也涉及到这方面的东西,只是之前的系统和应用,基本上都是32位的,所以直接用od来分析就行了,这方面的资料在网上很多,随便一搜到处都是,不过随着技术的不断发展,64位系统出现了,随之64位的应用也出现了,而od只能分析32位应用,所以一些64位应用,od是没办法分析逆向的,所以,在这里要提到另一个可以用于分析64位应用的调试软件,名字叫x64_dbg.网上对于这款软件的介绍很少,只是说能分析64位应用,具体用法也找不到,不过我找到了它的一个教程,里面有一个最简

Netty学习——基于netty实现简单的客户端聊天小程序

Netty学习——基于netty实现简单的客户端聊天小程序 效果图,聊天程序展示 (TCP编程实现) 后端代码: package com.dawa.netty.chatexample; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEven

【辅助程序】练手小程序:记录外网动态IP地址

练手小程序 程序作用:对IP实时记录: 1.定时获取外网IP,存储在本地文件中: 编写思路: 1)收集获取外网的API接口 http://bbs.125.la/thread-13838979-1-1.html 2)定时执行 http://blog.csdn.net/imzoer/article/details/8699083/ 4)记录本地文件 1 # -*- coding: utf-8 -*- 2 # -*- coding: gbk -*- 3 # Date: 2016/4/27 4 # Cr

封装简单的API——微信小程序

前几天自己琢磨微信小程序的基本开发,里边用到的技术包括WebAPI,也就是方法的封装. 当然也可以用ASP.NET MVC WCF来写接口.更简单应该就是 WinForm 简单易部署. 这里用的是 2017版本的 Core 2.0 WebAPI [Route("api/select")] //定义路由 public class SelectController:Controller { /// <summary> /// 查询所有信息 /// </summary>

程序员练手项目

转自:http://mp.weixin.qq.com/s?__biz=MzA4OTE4MjIwMA==&mid=2666146030&idx=1&sn=765c206ffcb28822674376985cdf9393&scene=23&srcid=0801NjfvdJozzoHkpC1BGnN4#rd 我经常看有人发帖问关于项目点子的事,也看到了很多回帖,我自己也回了一些常见的项目.不过我觉得只列出三两个是远远不够的,因此就收集并这个项目列表,大家要找简单的编程项目

[FMG]两个简单的JSP+servlet小程序

周末啦,最后一天,问了一下妹子,你作业写完了没有,妹子说,木有,我就傻眼了... 好吧,妹子,我来帮你写. 于是乎,把作业ppt下载下来,看了看,还可以,不算难,于是就帮妹子写完了这一个作业.虽然说还有一个作业ppt连我都看不懂布置的老师是想要干什么,真心想吐槽一句,老师,不给力啊. 好了,先上一个代码结构图吧: 主要代码分为java代码部分和WebContent代码部分: java代码部分主要分成了3个包:BEAN(实体类包),DAO(数据库访问类包),Servlet(Servlet类包) B

一个简单的中奖抽奖小程序

<!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript" src="jquery.js"></script> <style type="text/css"> #zhongjiang{ width: 100px; height: 100px; backgrou

极简易版专家聊天程序--JAVA练手

呵呵,用JAVA包开发SOCKET连接,是很简单的呢~~~ DailyAdviceServer.java import java.io.*; import java.net.*; public class DailyAdviceServer { String[] adviceList = {"Take smaller bites", "Go for the tight jeans", "代码写得好,要饭要到老", "You might

微信小程序小应用资源汇总整理

微信小应用资源汇总整理 开源项目 WeApp - 微信小程序版的微信 wechat-weapp-redux-todos - 微信小程序集成Redux实现的Todo list wechat-weapp-gank - 微信小程序版Gank客户端 wechat-dribbble - 微信小程序-Dribbble wechatApp-demo - 微信小程序 DEMO weapp-ide-crack - 微信小应用资源破解 API - API 文档 weapp-quick - 微信小应用示例代码 wea