零基础 学 python开发 (Genius套餐A) 四十二 - Go语言中文社区

零基础 学 python开发 (Genius套餐A) 四十二


夜光序言:

 

 

 

如果雨之后还是雨

如果忧伤之后仍是忧伤

请让我从容面对这别离之后的

别离 微笑地继续去寻找

一个不可能再出现的 你

 

 

 

 

正文:


案例 1 所得税计算器
1.1 需求分析


所得税计算器是我们日常生活中常用的,在已知一个人的总收入后,怎么样计算出要缴的税是多少事我们关心的问题,这个程序能计算要缴的税。

 



1.1.1 系统概述


在程序中输入个人收入值后计算应该缴纳的个人所得税的金额,例如:
总收入:8000
所得税:825.00
输入总收入是 8000 元,那么程序计算出所得税是 825 元。


1.1.2 系统运行环境
一、硬件环境


 处理器:Intel Pentium 166 MX 或更高
 内存:32MB
 硬盘空间:1GB
 显卡:SVGA 显示适配器


二、软件环境


 操作系统:Windows 98/ME/2000/XP+Python3.6



1.2 总体设计


根据我国规定个税起征点是 2000,当超过 2000 时个人所得税的计算方法如表。在已经知道收入的情况下要计算个人所得税,显然要判断收入的值的范围,根据不同的收入值,选取不同的所得税率进行计算。


表 2-4 个人所得税率




例 1:如一个人的收入是 3500 元,计算所得税


3500 中的 3500-2000=1500 的部分要上缴所得税,按规定计算过程如下:
1500 中的 500 元所得税是 500*5%,余下 1000;
1000 按 10%计算,所得税是 1000*10%;
因此所得税=500*5%+1000*10%

 



例 2:如一个人的收入是 8000 元,计算所得税

 


8000 中的 8000-2000=6000 的部分要上缴所得税,按规定计算过程如下:
6000 中的 500 元所得税是 500*5%,余下 5500 元;
5500 元中的 1500 元按 10%计算,所得税 1500*10%,余下 4000 元;
4000 元中的 3000 元按 15%计算,所得税 3000*15%,余下 1000 元;
1000 元按 20%计算,所得税 1000*20%

因此所得税=500*5%+1500*10%+3000*15%

由此可见在已经知道收入的情况下要计算个人所得税,显然要判断收入的值的范围,根据不同的收入值,选取不同的所得税率进行计算。在计算过程中我们可以先计算好各个范围的所得税:

t500=500*0.05
t2000=t500+(2000-500)*0.1
t5000=t2000+(5000-2000)*0.15
t20000=t5000+(20000-5000)*0.2
t40000=t20000+(40000-20000)*.25
t60000=t40000+(60000-40000)*.3
t80000=t60000+(80000-60000)*.35
t100000=t80000+(100000-80000)*.40


其中 t500 是在 500 元内的所得税,t2000 是在 2000 元内的所得税,t5000 是在 5000 元内所得税。解决这个问题要用到分支语句的多重嵌套与多重结构,如果 s 是超出 2000 部分的收入,那么可以使用下面的 if 逻辑来计算所得税:


 

 if(s<500):
 t=s*0.05
 elif (s<2000):
 t=t500+(s-500)*0.1
 elif (s<5000):
 t=t2000+(s-2000)*0.15
 elif (s<20000):
 t=t5000+(s-5000)*.2
 elif (s<40000):
 t=t20000+(s-20000)*.25
 elif (s<60000):
 t=t40000+(s-40000)*.3
 elif (s<80000):
 t=t60000+(s-60000)*.35
 elif (s<100000):
 t=t80000+(s-100000)*.4
 else:
 t=t100000+(s-100000)*.45


例如 s=4000,那么落在 elif(s<5000)额范围,所得税是 t=t2000+(s-2000)*0.15,其中 2000 元内的已经计算在 t2000 中了,超过 2000 的部分的所得税是(s-200)*0.15。



1.3 程序代码


 


# 夜光 个人所得税计算器
try:
 w=input("总收入:")
 w=float(w)
 s=w-2000
 t500=500*0.05
 t2000=t500+(2000-500)*0.1
 t5000=t2000+(5000-2000)*0.15
 t20000=t5000+(20000-5000)*0.2
 t40000=t20000+(40000-20000)*.25
 t60000=t40000+(60000-40000)*.3
 t80000=t60000+(80000-60000)*.35
 t100000=t80000+(100000-80000)*.40
 #计算所得税
 if(s<500):
  t=s*0.05
 elif (s<2000):
  t=t500+(s-500)*0.1
 elif (s<5000):
  t=t2000+(s-2000)*0.15
 elif (s<20000):
  t=t5000+(s-5000)*.2
 elif (s<40000):
  t=t20000+(s-20000)*.25
 elif (s<60000):
  t=t40000+(s-40000)*.3
 elif (s<80000):
  t=t60000+(s-60000)*.35
 elif (s<100000):
  t=t80000+(s-100000)*.4
 else:
  t=t100000+(s-100000)*.45
 print("所得税:%.2f" %t)
except Exception as e:
 print(e)


1.4 程序测试


总收入:8000000
所得税:3583725.00

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_41987706/article/details/90258991
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 18:30:22
  • 阅读 ( 904 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢