#-*- coding: utf-8 -*-

__author__ = 'hjianli'

#import re

importos

info_message= """Alex 100000

Rain 80000

Egon 50000

Yuan 30000"""

#序列字典

xulie_dict ={}#工资字典

gongzi_dict ={}#本地创建的文件名

file_name = "info.txt"

#创建文件的路径

Path =os.getcwd()

os.chdir(Path)#创建文件函数

def flush_info_txt(file_name, info=info_message):

with open(file_name,"wt", encoding="utf8") as f:

f.write(info+ " ")#追加新用户信息使用函数

def add_info_txt(file_name, info=None):

with open(file_name,"a+", encoding="utf8") as f:

f.writelines(info)#读取用户和工资信息函数

defread_file_txt(file_name):

with open(file_name) as f:

f=f.read()returnf#将读取出来的姓名和工资形成字典对应

definfo_user():

with open(file_name) as f:

file=f.read().strip().split()

keys= [x for x in range(len(file)) if x % 2 ==0]

value= [x for x in range(len(file)) if x % 2 == 1]for x, y inzip(keys,value):

gongzi_dict[file[x]]=file[y]returngongzi_dict#检测初始文件是否存在。不存在就创建,存在就忽略

defcheck_file():if notos.path.exists(file_name):

flush_info_txt(file_name)else:passcheck_file()#检测输入是否合理

defcheck_error(shuru):if len(shuru) ==0:print("您输入的为空,请检查输入!")elif str(shuru).isdigit() ==False :print("输入了错误的字符,请输入数字")else:returnTrue#检测输入的用户名是否在字典的keys中

defcheck_user(shuru):if shuru not ingongzi_dict.keys():pass

elif len(shuru) == 0 or int(len(shuru)) > 6:print("用户姓名输入错误!不符合姓名的格式.超过6个字段.")else:print("您输入的用户出现冲突,用户姓名必须唯一,请核对该用户的信息")

choice_exit=Truedefcheck_choice(choice):if (len(choice) != 0) and (int(choice) inlist_num):for i, q inenumerate(list_choice):

xulie_dict[i+1] =qfor key, value inxulie_dict.items():if int(choice) == 4:print("......程序正在退出..........")

exit(2)elif int(choice) ==key:

input_user_name= input("您选择的是:({}),请输入想要{}的员工姓名:".format(key, value[0:2]))

dict_name=info_user()if input_user_name indict_name.keys():if key == 1:print("{}的工资是:{} ******************************".format(input_user_name,dict_name[input_user_name]))break

elif key == 2:

dict_name=info_user()

old_gongzi=dict_name[input_user_name]#print(old_gongzi)

update_gongzi = input("请输入修改后的工资金额:")

check_error(update_gongzi)

dict_name[input_user_name]=update_gongzi

update_gongzi=dict_name[input_user_name]

str_info=read_file_txt(file_name)

str_info=str_info.replace(old_gongzi, update_gongzi)#print(str_info)

flush_info_txt(file_name, info=str_info)print("修改成功!")else:pass

elif key ==3:

new_gongzi= input("请输入他的工资:")

check_user(input_user_name)

new_user_info= str(input_user_name) + " " +new_gongzi

add_info_txt(file_name, new_user_info)print("新用户增加成功")else:print("您输入的用户名不存在,请检查后重新输入!")break

else:print("您输入了错误的数字,请检查重新输入是否在{}范围内".format(list_num))whilechoice_exit:

list_choice= ["查询员工工资", "修改员工工资", "增加新员工记录", "退出"]for i, q inenumerate(list_choice):print(str(i+1) + "." +str(q))

list_num= [x+1 for x inrange(len(list_choice))]

input_number= input(">>>>请输入您要进行的操作:")ifstr(input_number).isdigit():

check_choice(input_number)else:

check_error(input_number)continue

python普遍工资-python实现 --工资管理系统相关推荐

  1. 基于Python分析深圳程序员工资有多高?

    基于Python分析深圳程序员工资有多高? 概述 前言 统计结果 爬虫技术分析 爬虫代码实现 爬虫分析实现 后记 前言 多图预警.多图预警.多图预警.校招季,毕业也多,跳槽也多.我们的职业发展还是要顺 ...

  2. python计算每月工资-python税后工资计算器

    介绍 重新实现上一个挑战中的个税计算器,可以计算并处理多人的工资并打印税后工资. 项目需求改变: 输出税后工资 计算过程需要扣除社会保险费用 支持多人同时计算工资 打印税后工资列表 个税计算公式: 应 ...

  3. java和python工资-python为什么叫爬虫 python工资高还是java的高

    人工智能的现世,让python学习成风,由于其发展前景好,薪资高,一时成为众多语言的首选.Python是一门非常适合开发网络爬虫的编程语言,十分的简洁方便所以是网络爬虫首选编程语言!不少新手常问pyt ...

  4. 用python计算工资工资_python税后工资计算器

    介绍 重新实现上一个挑战中的个税计算器,可以计算并处理多人的工资并打印税后工资. 项目需求改变: 输出税后工资 计算过程需要扣除社会保险费用 支持多人同时计算工资 打印税后工资列表 个税计算公式: 应 ...

  5. python普遍工资-python平均工资

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 运行平台: windows python版本: python3.6 id ...

  6. python编程员工资-Python 程序员的工资能有多高?

    最近有朋友向我问起了Python,说Python特别火,抖音.朋友圈到处都在宣传,能大幅度提高办公效率,学得好的甚至能实现办公自动化!Python真的有这么神奇吗? 作为公司的运营,在没有接触过这门神 ...

  7. python初学工资-Python怎么学,才能薪资翻一翻?

    如果你对数据分析有所了解,一定听说过一些亲民的工具如Excel.Tableau.PowerBI等,都能成为数据分析的得力助手.但它们的不足也是显而易见的:操作繁琐,复用性差,功能相对局限单一. 怎么解 ...

  8. python就业方向及工资-Python的5大就业方向,薪资诱人前景好!

    相信不少Python的初学者,都会遇到一些问题问题. " 我想学Python,但是学完Python后能干啥 ?" " 现在学Python,哪个方向最简单?哪个方向最吃香 ...

  9. python运维工程师招聘_【python自动化运维工程师工资】图灵学院2020年python自动化运维工程师工资待遇-看准网...

    职位描述 招聘要求: 至少满足下面三个招聘方向中的一条. 招聘主要方向: 一.python web高级讲师 职位要求: 1.精通Python,具有python web开发经验,有参与多个完整的项目生命 ...

最新文章

  1. python 判断字典是否包含某个key,以及对应的value 值
  2. Java-Web监听器
  3. hdu4415 不错的想法题
  4. 360企业版终端安装说明
  5. 计算机英语翻译的典故,中国成语典故英语翻译大全
  6. C#构造函数、私有构造函数、静态构造函数与构造函数执行顺序
  7. linux 安装库 编译提示-lcrypto 无法链接,缺少 crypto 库
  8. 关于MongDB数据迁移方案的研究
  9. PAT (Basic Level) 1058 选择题(模拟)
  10. 逃离迷茫和枯燥,让自己快乐起来
  11. 上午写了一段代码,下午就被开除了,奇怪的知识又增加了
  12. qtextedit 默认文案_QTextEdit的paste
  13. 求约瑟夫环问题最后胜利者的一般解法以及数学推导方法
  14. 两种语言“争霸赛”,PHP速度领先C#
  15. Hadoop的安装教程,很详细
  16. 咸鱼CAD笔记—CAD基础操作
  17. Spring源码解析:Spring Aware 原理解析
  18. 无法打开源文件“QtWidgets/QMainWindow“的问题
  19. CentOS部署集群版Presto
  20. 水纹(涟漪)特效壁纸——程序+实现原理

热门文章

  1. RuntimeError: 1only batches of spatial targets supported (non-empty 3D tensors) but got targets of s
  2. spring cloud设置session过期时间
  3. PowerShell查看历史记录
  4. CentOS7 安装code::Blocks
  5. 怎么写标题更加吸引人(几种吸引人的标题类型写法)
  6. 若用链表存储一棵二叉树时,每个节点除数据域外,还有指向左孩子和右孩子的两个指针,在这种存储结构中,n歌节点的二叉树共有2N个指针域,其中有N-1个指针域存放了地址,有N+1个指针是空指针。
  7. python preference界面设置_Preference 实现设置界面
  8. 对话智领云CTO宋文欣:读懂云原生时代的数据中台
  9. 企业微信社群如何逆风翻盘
  10. Nginx expires缓存