python 個人所得稅問題_Python實現的個人所得稅計算器

這篇文章主要介紹了Python實現的個人所得稅計算器,涉及Python條件判斷與數值運算相關操作技巧,需要的朋友可以參考下

本文實例講述了Python實現的個人所得稅計算器。分享給大家供大家參考,具體如下:

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

"""

Created on Sat Apr 15 17:55:54 2017

@author: Administrator

"""

#!/bin/env python

# author: zhouhh

# email: ablozhou@gmail.com

# money.py

def money(all_salary,has_welfare,has_housing_fund):

money = all_salary

bj_average_salary=3322;#in 2008 using average salary of year 2007

min = bj_average_salary*0.6

max = bj_average_salary*3

welfare_fund = all_salary

if all_salary > max:

welfare_fund = max

if all_salary < min:

welfare_fund = min

print("total money=%.2f"%all_salary)

medical_fund=welfare_fund*0.02+3

retire_fund=welfare_fund*0.08

unemploy_fund =welfare_fund*0.005

if not has_welfare:

welfare_fund = 0

medical_fund=0

retire_fund=0

unemploy_fund =0

else:

print("medical fund = %d*0.02+3=%.2f"%(welfare_fund,medical_fund) )

print("retirement fund = %d*0.08 =%.2f"%(welfare_fund,retire_fund) )

print("unemployment fund = %d*0.005=%.2f"%(welfare_fund,unemploy_fund ))

housing_fund=welfare_fund*0.12

if not has_housing_fund:

housing_fund = 0

else:

print("housing fund = %d*0.12=%.2f"%(welfare_fund,housing_fund))

all_welfare_fund=medical_fund+retire_fund+unemploy_fund +housing_fund

print("all welfare fund=%.2f"% all_welfare_fund)

money -=all_welfare_fund

before_tax = money

print("before tax money =%.2f"%before_tax )

if before_tax < 2000 :

print(" you have no tax,you own money=%.2f"%before_tax)

return before_tax

#after 2008.3.1 tax

l1=500*0.05 #2000-2500, %5

l2=1500*0.10 #2500-4000 %10 +=25

l3=3000*0.15 #4000-7000 %0.15 +=175

l4=15000*0.20 #7000-22000 %20 += 625

l5=20000*0.25 #22000-42000 %25 +=3625

l6=20000*0.30 #42000-62000 %30 +=8625

l7=20000*0.35 #62000-82000 %35 +=14625

l8=20000*0.40 #82000-102000 %40 +=21625

l9=0 # +=29625

money -=2000

tax=0;

if money<500:

l1=money*0.05

tax=l1

print("you are in level 1,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))

return before_tax-tax

money -= 500

if money<1500:

l2=money*0.10

tax=l1+l2

print("you are in level 2,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))

return before_tax-tax

money -= 1500

if money<3000:

l3=money*0.15

tax=l1+l2+l3

print("you are in level 3,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))

return before_tax-tax

money -= 3000

if money<15000:

l4=money*0.20

tax=l1+l2+l3+l4

print("you are in level 4,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))

return before_tax-tax

money -= 15000

if money<20000:

l5=money*0.25

tax=l1+l2+l3+l4+l5

print("you are in level 5,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))

return before_tax-tax

money -= 20000

if money<20000:

l6=money*0.30

tax=l1+l2+l3+l4+l5+l6

print("you are in level 6,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))

return before_tax-tax

money -= 20000

if money<20000:

l7=money*0.35

tax=l1+l2+l3+l4+l5+l6+l7

print("you are in level 7,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))

return before_tax-tax

money -= 20000

if money<20000:

l8=money*0.40

tax=l1+l2+l3+l4+l5+l6+l7+l8

print("you are in level 8,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))

return before_tax-tax

money -= 20000

l9=money*0.45

tax=l1+l2+l3+l4+l5+l6+l7+l8+l9

print("you are in level 9,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))

return before_tax-tax

money(10000,0,0)

運行結果:total money=10000.00

all welfare fund=0.00

before tax money =10000.00

you are in level 4,tax =1225.00, you own money=8775.00

相關推薦:

Python實現的視頻播放器功能

Python實現的計算器功能

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529565.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529565.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529565.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

建立項目接口文檔_分享:一步一個腳印,vue入門之使用mockjs搭建vue項目測試服務器...

在以前的文檔中&#xff0c;我們構建了vue項目的整體架構&#xff0c;詳見vue入門&#xff1a;vue項目架構設計起步&#xff0c;現在我們主要對其中的mock server 進行完善。一、概述前后端分離的項目優點之一就是可以前后端并行開發&#xff0c;互不影響。那么在后端接口沒有完…

有效字符區域 獲取textview_Android編程開發之TextView文字顯示和修改方法(附TextView屬性介紹)...

本文實例講述了Android編程開發之TextView文字顯示和修改方法。分享給大家供大家參考&#xff0c;具體如下&#xff1a;一. 新建一個Activity 和 Layout首先在layout文件夾中新建一個activity_main.xml,在新建工程的時候一般默認會新建此xml文件,修改其代碼如下:activity_main.…

單機最大負載_電流互感器允許接入的實際最大二次負載(注電案例1865)

某國外水電站安裝的水輪發電機組&#xff0c;單機額定容量為 120MW&#xff0c;發電機額定電壓為 13.8kV&#xff0c;cosφ0.85。發電機、主變壓器采用發變組單元接線&#xff0c;未裝設發電機斷路器&#xff0c;主變高壓側三相短路時流過發電機的最大短路電流為 19.6kA。發電機…

vue怎么vw布局好用_vue cli3項目的pc自適應布局_vw

前言vw布局的頁面是等比改變的,比如我們在一個750px的屏幕寬度中使用了vw,當我們把屏幕寬度改為1920的時候,網頁的整個樣式包括字體都會等比放大.vw布局我用于大屏監控數據展示.下圖是750屏幕寬度下的頁面下圖是1920屏幕寬度下的頁面pc端配置1.安裝postcss-px-to-viewport插件,…

python做得怎么變成exe_Python如何生成exe文件?

背景圖來源&#xff1a;click斗魚直播間真實rtmp地址獲取(含工具類下載)?zhuanlan.zhihu.com最經典的Python爬蟲(圖片)案例?zhuanlan.zhihu.com寫在前面&#xff1a;之前用python生成過可執行的exe文件(斗魚推流地址exe &#xff0c;圖片exe&#xff0c;芳兒小團子千人成像ex…

python mkl freebsd_freebsd下之簡單安裝python

先su到root帳戶進入/usr/ports/lang/python26然后直接make整個過程如圖所示&#xff0c;經過漫長的編譯之后...然后make install又是漫長的等待...出現Install them as needed.--------------------------------------------------------This package was built with the exper…

html video顯示進度條_使用 tqdm 在 Python 應用中顯示進度 | Linux 中國

如果你的程序需要一段時間才能顯示結果&#xff0c;可通過顯示它的進度來避免讓用戶感到沮喪。來源&#xff1a;https://linux.cn/article-12990-1.html作者&#xff1a;Moshe Zadka譯者&#xff1a;geekpi&#xff08;本文字數&#xff1a;3093&#xff0c;閱讀時長大約&#…

課題開題報告范文樣本_成都汽車職業技術學校舉行 2020年省、市、區課題開題報告會...

01為深入貫徹落實國務院、省、市、區關于深化教育教學改革的重要精神&#xff0c;充分發揮教育科研的先導作用&#xff0c;明晰課題研究的思路并提高課題研究的針對性&#xff0c;1月12日&#xff0c;成都汽車職業技術學校舉行2020年省、市、區課題開題報告會。本次開題報告會邀…

vsftp日志查看_vsftp日志xferlog格式分析(示例代碼)

1、開始vsftp記錄日志。修改/etc/vsftpd/vsftpd.conf 如下&#xff1a;xferlog_enableYESxferlog_std_formatYESxferlog_file/var/log/xferlogFTP服務器的日志設置&#xff0c;可以通過修改主配置文件/etc/vsftpd.conf實現。主配置文件中與日志設置有關的選項包括xferlog_enabl…

安裝mysql5 1步驟_Linux系統安裝MySQL詳細步驟(mysql-5.1等)

第一步、查找以前是否安裝有mysql使用下面命令&#xff1a;rpm -qa|grep -i mysql如果顯示有包則說明已安裝mysql第二步、如果已安裝&#xff0c;則需要刪除已安裝的數據庫可按以下步驟刪除數據庫&#xff1a;刪除包命令&#xff1a;rpm -e --nodeps 【包名】rpm -e --nodeps …

mysql分頁查詢關鍵_MySQL優化教程之超大分頁查詢

背景基本上只要是做后臺開發&#xff0c;都會接觸到分頁這個需求或者功能吧。基本上大家都是會用MySQL的LIMIT來處理&#xff0c;而且我現在負責的項目也是這樣寫的。但是一旦數據量起來了&#xff0c;其實LIMIT的效率會極其的低&#xff0c;這一篇文章就來講一下LIMIT子句優化…

mysql r_R之RMySQL

linux&#xff0c;mysql和R的版本信息&#xff1a;Linux naci 3.19.0-16-generic #16-Ubuntu SMPServer version: 5.6.24-0ubuntu2 (Ubuntu)R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet"mysql的linux安裝&#xff0c;參照上一篇關于liunx下安裝mysql的文章。1.…

mysql 字符轉換函數是_MySQL日期和字符串轉換函數

Mysql中to_char()和str_to_date()函數轉載路徑&#xff1a;https://blog.csdn.net/ricardo_mli/article/details/802175121.字符串轉換成日期格式str_to_date(date,’%Y-%m-%d’)----->相當于Oracle中的to_char();例子&#xff1a;INSERT INTOt_order(order_time)VALUES(str…

mysql數據加百分號_使用MySQL SELECT語句時,在每個值的末尾添加一個百分號(%)...

要在末尾添加百分號&#xff0c;請使用CONCAT()函數。讓我們首先創建一個表-mysql> create table DemoTable(StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,StudentName varchar(100),StudentScore int);使用插入命令在表中插入一些記錄-mysql> insert into DemoTa…

mysql 分頁 jdbc_JDBC調用MySQL分頁存儲過程實現(一)

DROP PROCEDURE IF EXISTS pro_pager;CREATE DEFINER root% PROCEDURE pro_pager(in p_pageNo int, /*當前頁*/in p_perPageCnt int, /*每頁記錄數*/in p_sql VARCHAR(2000), /*查詢sql語句*/out v_totalRowsCnt int, /*記錄總條數*/out v_totalPageCnt int) /*記錄總頁數*/BE…

mariadb mysql表_mysql/mariadb學習記錄——創建刪除數據庫、表的基本命令

查看已有的數據庫&#xff1a;mysql>show databases;--------------------| Database |--------------------| information_schema || test |--------------------2 rows in set (0.05 sec)新建數據庫語句:mysql>create database wzu;Query OK,1 row affected (0.05sec)m…

zabbix proxy mysql_zabbix proxy 配置

在監控大量服務器時&#xff0c;如果將所有的請求都發送到一個zabbix server上&#xff0c;將會對我們的zabbix server造成很大的壓力&#xff0c;我們在規劃多個區域或機房進行監控的時候&#xff0c;會考慮到使用zabbix proxy 來代理zabbix server 的部分功能。zabbix server…

mysql修改數據庫結構用哪一項_mysql alter修改數據庫表結構用法

1.alter操作表字段(1)增加字段alter table 表名 add 字段名 字段類型&#xff1b;alter table student add name varchar(10)&#xff1b;(2)修改字段alter table 表名 change 舊字段名 新字段名 字段類型&#xff1b;alter table 表名 modify 字段名 字段類型&#xff1b;//修…

mvc mysql linq_MVC3+Linq to sql 顯示數據庫中數據表的數據

1&#xff1a;首先創建asp.net mvc3應用程序 2&#xff1a;創建項目完成后 找到controllers文件鼠標右擊選擇添加控制器 3 為models文件夾添加一個linq to sql類文件&#xff0c;然后把數據庫中的數據庫復制進來。如截圖操作 4&#xff1a;添加控制器好后會生成一個HomeControl…

bash給腳本加進度條_shell腳本實現多彩進度條

代碼如下&#xff1a;1 #!/bin/bash2 i0;3 str""4 arr("|" "/" "-" "\\")5 while [ $i -le 100 ]6 do7 let indexi%48 let indexcolori%89 let color30indexcolor10 printf "\e[0;$color;1m[%-100s][%d%%]%c\r" &…