实验一:Python 程序流程控制
1.1 第一题
计算有固定工资收入的党员,每月所缴纳的党费。工资基数3000元以下者,缴纳工资基数的0.5%;工资基数3000元到5000元者,缴纳工资基数的1%;工资基数在5000元到10000元者,缴纳工资基数的1.5%;工资基数超过10000元者,缴纳工资基数的2%。运行结果如下图所示:
wage=int(input("请输入有固定工资收入的党员的工资基数:"))
# 定义一个计算每月不同的固定工资收入的党员所要缴纳的党费
def f(w):
if(w<3000):
dues=w*0.005
else:
if(w>5000):
if(w>10000):
dues=w*0.02
else:
dues=w*0.015
else:
dues=w*0.01
# 以所要缴纳的党费作为返回值
return dues
#格式化输出
print("月工资基数 = {} , 交党费 = {}".format(wage,f(wage)))
运行的截图如下所示:
1.2 第二题
企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
import math
def f(profit) :
sum = 0
# 建立一个存放奖金的字典
# 字典的键时使用一个元组数据类型。
# 该元组中,第一个值是表示获得该范围奖金的利润最低值,
# 第二个值表示获得该范围奖金的利润最高值,
# 第三个值表示利润在该范围内的奖金提成值
# 字典的值的初始值表示利润在该范围内的奖金初始值
bonus_items = {
(0 , 100000 , 0.1) : 0 ,
(100000 , 200000 , 0.075) : 100000 * 0.1 ,
(200000 , 400000 , 0.05) : 100000 * 0.1 + 100000 * 0.075 ,
(400000 , 600000 , 0.03) : 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 ,
(600000 , 1000000 , 0.0015) : 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 ,
(1000000 , math.inf , 0.001) : 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 4000000 * 0.0015
}
# 输出字典
# for key , value in bonus_items.items () :
# print ( "{} : {}".format ( key , value ) )
# 通过循环判断利润在哪一个区间内,在计算相应的奖金金额
for item in bonus_items.keys () :
if item[0] < profit <= item[1] :
sum = bonus_items[item] + (profit - item[0]) * item[2]
return sum
# 格式化输出
profit = float ( input ( "请输入当月利润:" ) )
print ( "应发放奖金总数: {}".format ( f ( profit ) ) )
运行的截图如下所示: