当前位置:网站首页>实例002:“个税计算” 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.
实例002:“个税计算” 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.
2022-07-05 08:16:00 【懒笑翻】
实例002:“个税计算”
# **题目:**企业发放的奖金根据利润提成。 # 利润(I)低于或等于10万元时,奖金可提10%; # 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%; # 20万到40万之间时,高于20万元的部分,可提成5%; # 40万到60万之间时高于40万元的部分,可提成3%; # 60万到100万之间时,高于60万元的部分,可提成1.5%, # 高于100万元时,超过100万元的部分按1%提成, # 从键盘输入当月利润I,求应发放奖金总数?
#题目分析 """ 当我们进行手算的时候,是这样算的:假设是1500000,是大于10000万的,下面我们来是手算: 10w*0.1+10w*0.075+20w*0.05+20w*0.03+40w*0.015+50w*0.01 """ # **程序分析:**分区间计算即可
依照我们手算的过程,在算法中,我们也根据区间来计算,如果输入的利润profit小于或等于 thresholds[i]时,则用profit计算完当前区间对应的利率加在奖金bonus上后就退出,否则就用当前区间对应的金额*对应区间的利率加在奖金bonus上后,profit再减掉当前区间对应的金额再进入for循环。在金额区间内的利率是有对应区间段利率的,高于100万的部分对应利率1%也就是0.01。如果在前面我们的利润是小于等于100万的,那么profit在走出循环的时候是0,在输出发放的奖金总数前计算的高于100万的奖金时就是0*0.01=0。
for j in range(10): # 可以测试10次
profit = int(input('请输入你的利润金额: ')) #input输入的是字符串类型,要用int()转为整数
bonus = 0
thresholds = [100000, 100000, 200000, 200000, 400000] # 分区间计算
rates = [0.1, 0.075, 0.05, 0.03, 0.015, 0.01]
for i in range(len(thresholds)):
print(profit, "--", i, "thresholds[i]", thresholds[i], "rates[i]", rates[i])
if profit <= thresholds[i]:
bonus += profit * rates[i]
profit = 0
break
else:
bonus += thresholds[i] * rates[i]
profit -= thresholds[i]
print(profit)
bonus += profit * rates[-1] # 这里就是计算高于100w部分的奖金
print(" 发放的奖金总数为: ", bonus)
输出结果:
请输入你的利润金额: 1500000
1500000 -- 0 thresholds[i] 100000 rates[i] 0.1
1400000
1400000 -- 1 thresholds[i] 100000 rates[i] 0.075
1300000
1300000 -- 2 thresholds[i] 200000 rates[i] 0.05
1100000
1100000 -- 3 thresholds[i] 200000 rates[i] 0.03
900000
900000 -- 4 thresholds[i] 400000 rates[i] 0.015
500000
发放的奖金总数为: 44500.0
边栏推荐
- Shell script realizes the reading of serial port and the parsing of message
- Charge pump boost principle - this article will give you a simple understanding
- UE像素流,来颗“减肥药”吧!
- PMSM dead time compensation
- Classic application of MOS transistor circuit design (1) -iic bidirectional level shift
- Fundamentals of C language
- leetcode - 445. 两数相加 II
- Shape template matching based on Halcon learning [v] find_ cocoa_ packages_ max_ deformation. Hdev routine
- 【论文阅读】2022年最新迁移学习综述笔注(Transferability in Deep Learning: A Survey)
- Shell脚本基本语法
猜你喜欢
H264 (I) i/p/b frame gop/idr/ and other parameters
Introduction of air gap, etc
Hardware and software solution of FPGA key chattering elimination
STM32 single chip microcomputer - bit band operation
Step motor generates S-curve upper computer
Count the number of inputs (C language)
Matlab2018b problem solving when installing embedded coder support package for stmicroelectronic
OC and OD gate circuit
Relationship between line voltage and phase voltage, line current and phase current
MHA High available Cluster for MySQL
随机推荐
Solutions to compilation warnings in Quartus II
Management and use of DokuWiki (supplementary)
Gradle composite construction
Programming knowledge -- assembly knowledge
How to copy formatted notepad++ text?
leetcode - 445. 两数相加 II
Various types of questions judged by prime numbers within 100 (C language)
Development tools -- gcc compiler usage
Gradle复合构建
Adaptive filter
Take you to understand the working principle of lithium battery protection board
【论文阅读】2022年最新迁移学习综述笔注(Transferability in Deep Learning: A Survey)
Design a clock frequency division circuit that can be switched arbitrarily
UE像素流,来颗“减肥药”吧!
[paper reading] the latest transfer ability in deep learning: a survey in 2022
UEFI development learning 6 - creation of protocol
UEFI development learning 5 - simple use of protocol
Improve lighting C program
Matlab2018b problem solving when installing embedded coder support package for stmicroelectronic
Slist of linked list