题目描述
夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电[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函数返回参数中最大的一个。