python实验楼工资计算器_挑战:完善工资计算器

这是一个Python程序,用于计算并打印税后工资,包括扣除社会保险费用。程序支持多人工资计算,根据给定的税率表和社保比例进行计算,税后工资保留两位小数。
摘要由CSDN通过智能技术生成

完善工资计算器

项目需求改变:

输出税后工资

计算过程需要扣除社会保险费用

支持多人同时计算工资

打印税后工资列表

个税计算公式:

应纳税所得额 = 工资金额 - 各项社会保险费 - 起征点(3500元)

应纳税额 = 应纳税所得额 × 税率 - 速算扣除数

其中各项社会保险费我们在本程序中需要计算,计算公式由于各地不一样,我们此处使用国内某一城市的计算比例,占工资金额的比例如下:

养老保险:8%

医疗保险:2%

失业保险:0.5%

工伤保险:0%

生育保险:0%

公积金:6%

注意,此处不考虑社保缴费基数的问题。直接使用工资金额计算社保费用即可。

税率及速算扣除数对应表:

全月应纳税额 税率 速算扣除数(元)

不超过 1500 元 3% 0

超过 1500 元至 4500 元 10% 105

超过 4500 元至 9000 元 20% 555

超过 9000 元至 35000 元 25% 1005

超过 35000 元至 55000 元 30% 2755

超过 55000 元至 80000 元 35% 5505

超过 80000 元 45% 13505

目标

完成任务需要达成的目标:

程序存放的位置 /home/shiyanlou/calculator.py

程序可以处理1个及多个员工工资计算,输出的内容为1行或多行,每行内容必须为工号:税后工资

程序返回的税后工资数字保留两位小数,如果是整数,仍然需要保留xxx.00 这种形式

!/usr/bin/env python3

import sys

def cal(**em_dict):

tax_dict = {}

for p in em_dict.keys():

t = em_dict[p]-em_dict[p]*0.165 - 3500

if t < 0:

tax = 0

elif t<1500:

tax = t * 0.03

elif t<4500:

tax = t * 0.1 - 105

elif t<9000:

tax = t * 0.2 - 555

elif t<35000:

tax = t * 0.25 - 1055

elif t<55000:

tax = t * 0.3 - 2755

elif t<80000:

tax = t * 0.35 - 5505

else:

tax = t * 0.45 -13505

taxf = tax

mon = em_dict[p] - taxf - em_dict[p]*0.165

tax_dict[p] = format(mon,'.2f')

print("-----*------------")

return tax_dict

def main():

print('----main----')

if len(sys.argv) < 2:

print("Parameter Error")

else:

em_list =sys.argv[1:]

em_dict = {}

try:

for em in em_list:

t = em.split(':',1)

em_dict[t[0]] =int(t[1])

except TypeError:

print('Parameter Error')

else:

m = cal(**em_dict)

# print(m)

for gh,gz in m.items():

print("%s:%s"%(gh,gz))

???|óD?í?ó??2??a?ao????óé??a????3ìDò??óDê?3?

if name=='main':

main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 Python 的 tkinter 库来实现一个简单的计算器。 以下是一个基本的示例代码: ```python from tkinter import * class Calculator: def __init__(self, master): self.master = master master.title('Calculator') # 创建输入框 self.display = Entry(master, width=20, font=('Arial', 16)) self.display.grid(row=0, column=0, columnspan=4, pady=5) # 创建按钮 self.create_button('7', 1, 0) self.create_button('8', 1, 1) self.create_button('9', 1, 2) self.create_button('/', 1, 3) self.create_button('4', 2, 0) self.create_button('5', 2, 1) self.create_button('6', 2, 2) self.create_button('*', 2, 3) self.create_button('1', 3, 0) self.create_button('2', 3, 1) self.create_button('3', 3, 2) self.create_button('-', 3, 3) self.create_button('0', 4, 0) self.create_button('.', 4, 1) self.create_button('=', 4, 2) self.create_button('+', 4, 3) self.create_button('C', 5, 0) self.create_button('(', 5, 1) self.create_button(')', 5, 2) self.create_button('^', 5, 3) def create_button(self, text, row, column): btn = Button(self.master, text=text, width=5, height=2, font=('Arial', 16), command=lambda:self.button_click(text)) btn.grid(row=row, column=column, pady=5) def button_click(self, text): if text == '=': result = eval(self.display.get()) self.display.delete(0, END) self.display.insert(END, str(result)) elif text == 'C': self.display.delete(0, END) else: self.display.insert(END, text) root = Tk() calc = Calculator(root) root.mainloop() ``` 运行代码后将会显示出一个简易的计算器界面,可以进行基本的加减乘除、乘方等运算。当用户点击“=”按钮时,程序会使用 `eval` 函数来计算表达式,并将结果显示在输入框中。如果用户点击“C”按钮,则会清空输入框。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值