1020月饼 难

1.这道题主要涉及到排序算法,和前面两道题部分相关,但是还是不会写,应该做一个专题,学习相关知识点,专门训练一下。涉及成绩排序,列表里嵌套列表
3.整型与浮点数—float,int
4.思路:利用字典,保存索引
5.a={i:c for i in range()}
6.’%.2f’ %f
7.c=(‘%.2f’ %(a/b)
8.sorted(text,key=lambda x:x[0],reverse=True)
10.如何对字典的键或值排序?利用dict.items()转化为列表后用sorted(Lambda)排序即可

fir_lin=input().split()
kind,need=fir_lin[0],int(fir_lin[1])
store,price=input().split(),input().split()
get=0
pri={i:float(price[i])/float(store[i]) for i in range(int(kind))}
pri=sorted(pri.items(),key=lambda x:x[-1],reverse=True)
while need>0:
    for p in range(int(kind)):
        key=pri[p][0]
        store[key]=eval(store[key])
        if p!=int(kind)-1 and need>(store[key]):
            need=need-store[key]
            get+=store[key]*pri[p][1]
        elif p==int(kind)-1 and need>(store[key]):
            get+=store[key]*pri[p][1]
            need=0
        else:
            get+=need*pri[p][1]
            need=0
print('%.2f' %get)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值