每日一练 - 使用Python min、max函数替代复杂的if结构

题目描述

夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电[2006]27号规定,月用电量在150千瓦时及以下部分按每千瓦时0.4463元执行,月用电量在151~400千瓦时的部分按每千瓦时0.4663元执行,月用电量在401千瓦时及以上部分按每千瓦时0.5663元执行;小玉想自己验证一下,电费通知单上应交电费的数目到底是否正确呢。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。

 一般的程序员会使用大量的if语句, 判断电价不同时的各种情况, 从而使代码变得复杂。但幸运的是, Python提供了min()和max()函数, 将if判断的功能直接集成在内置函数中。

def solution(self, amount):
    total = min(amount,150) * 0.4463
    total += min(250,max(amount-150,0)) * 0.4663
    total += max(0,amount-400) * 0.5663
    return total

与使用大量if语句相比, 这4行代码简洁明了, 将3个用电量区间内的电费简单相加, 得出结果。

min()、max()函数用法

min函数的调用格式为: min(num1, num2, ...)

min函数传入2个或多个数值参数, 返回传入参数中最小的一个。

max函数的调用格式为: max(num1, num2, ...)

与min函数相反, max函数返回参数中最大的一个。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值