PAT 乙级(Python) #1020 月饼 (25 分)

该代码实现了一个月饼销售策略,根据库存和售价计算最大利润。首先,读取月饼种类、市场需求及每种月饼的库存和售价,然后按单位价格降序排列月饼,最后按市场需求从高价到低价销售,直到需求满足或售罄,输出最终利润。
摘要由CSDN通过智能技术生成

#1020 月饼 (25 分)

在这里插入图片描述
代码展示:

N, D = list(map(eval,input().split()))  # 月饼种类数量, 市场需求
storageLis = list(map(eval,input().split()))  # 月饼库存量
tradeLis = list(map(eval,input().split()))  # 月饼总售价

mooncake_info = []
for i in range(N):
    storage = storageLis[i]
    if storage!=0:
        price = tradeLis[i]/storage
        mooncake_info.append((storage,price))
# print(mooncake_info)
mooncake_info.sort(key=lambda x: x[1],reverse=True)
# print(mooncake_info)

demand_res = D
profit = 0
for storage,price in mooncake_info:
    if demand_res <= 0:
        break
    elif demand_res >= storage:
        demand_res -= storage
        profit += storage * price
    elif demand_res <= storage:
        profit += demand_res * price
        demand_res = 0

print('{0:<.2f}'.format(profit))

测评结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值