python程序流程控制练习题

文章包含两个Python程序,分别用于计算不同工资基数下党员的党费缴纳和根据利润提成计算企业奖金发放。党费计算根据工资基数分为四个档次,奖金提成则基于利润区间采用不同比例。程序通过条件判断和字典数据结构实现相应逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验一: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 ) ) )

运行的截图如下所示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A_dewen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值