猫史档案馆


【通天塔58层】工资计税问题讲解分析

用户:传说中的巨大佬传说中的巨大佬查看:1 回复:3 评论:1 创建时间:2018-11-17T20:45:56


刷塔过程中确实遇到了一些有难度的题目,所以就挑几个有意思的题目给大家做一下讲解,大佬请无视。。。。

 

刷塔不是目的,学会python语法,学习解决问题的思路才是王道,废话不多说了,来看题目。(第五个区间应该是题目出错了,应该是30001~40000,我直接改过来了)

 

center_image

 

题目给的输入数据是10000,输出是290,应该有很多同学不知道这个数字是怎么来的吧,请继续往下看。

 

根据题目,这个是分段计税的问题,工资10000元,分成这么几段

1~5000 的区间有 5000元,本区间税率为0,不计税

5001~8000 的区间有3000元,本区间税率3%,税费为3000*0.03=90元

8001~17000 的区间有2000元,本区间税率10%,税费为2000*0.1=200元

所以最终的税率为290元。

 

那么再举个例子,如果工资是35000,税费应该怎么计算呢?

工资35000可以分成如下几个区间:

1~5000 的区间有 5000元,本区间税率为0,不计税

5001~8000 的区间有3000元,本区间税率3%,税费为3000*0.03=90元

8001~17000 的区间有9000元,本区间税率10%,税费为9000*0.1=900元

17001~30000的区间有13000元,本区间税率20%,税费为喵元

30001~40000的区间有5000元,本区间税率为25%,税费为5000*0.25=1250元

所以最终的税费为4840。

好了,到这里算法已经基本明白了。接下来该写代码了。

 

我的建议是,准备2个列表

q=[0,5000,8000,17000,30000,40000,60000,999999999]  #分段计税的区间

s=[0,0,3,10,20,25,30,30] #与上面区间对应的税率

然后用一个循环,和区间来比较,如果工资大于区间,那么就计算整个区间的税费,如果区间大于工资,就计算该区间内的工资,像上面的例子,35000元工资,30000元之前的都是完整的区间税费,区间有多大,税费就有多少,只有最后5000元在25%的区间里,算完这5000的税费后就跳出循环。

 

题目完成~


回复

上一页1 页 / 共 1下一页
传说中的巨大佬传说中的巨大佬

说实话,这个题放在58层还是比较有难度的...

点赞0


评论


秋葵秋葵

哈哈哈哈哈哈哈!

点赞0


评论


编程猫王丫丫编程猫王丫丫

哈哈哈  不用列表也是可以的 

点赞0


评论