为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3;超过后,y=2.5x−17.5。请编写程序实现水费的计算。
输入样例1:
12
输出样例1:
16.00
输入样例2:
16
输出样例2:
22.50
完整代码:
x = eval(input())
y = (x <= 15) * (4 * x / 3) + (x > 15) * (2.5 * x - 17.5)
print("{:.2f}".format(y))
这道题很简单,不过还是值得记录一下。最近正在看《数学建模算法与应用(第2版)》,里面有一个0-1整数规划,给的例题就是类似这道题的分段函数,书中给出的答案就大概是这种形式,说实话,这是我第一次见到分段函数还能这么写。然后晚上刷python的题就碰到了分段函数,正好学以致用。
大概思想就是满足条件为1,不满足条件则为0,很容易理解。