题目描述
夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电 [2006]27 号规定,月用电量在 150150150 千瓦时及以下部分按每千瓦时 0.44630.44630.4463 元执行,月用电量在 151∼400151\sim 400151∼400 千瓦时的部分按每千瓦时 0.46630.46630.4663 元执行,月用电量在 401401401 千瓦时及以上部分按每千瓦时 0.56630.56630.5663 元执行。小玉想自己验证一下,电费通知单上应交电费的数目到底是否正确呢。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。
输入格式
输入一个正整数,表示用电总计(单位以千瓦时计),不超过 100001000010000。
输出格式
输出一个数,保留到小数点后 111 位(单位以元计,保留到小数点后 111 位)。
输入输出样例
输入
267
输出
121.5
方式
代码
class Solution:
@staticmethod
def oi_input():
"""从标准输入读取数据"""
num = int(input())
return num
@staticmethod
def oi_test():
"""提供测试数据"""
return 267
@staticmethod
def solution(num):
prices = {
1: 0.4463,
2: 0.4663,
3: 0.5663
}
parts = {
1 : min(num, 150), # 150-
2 : max(0, min(num, 400) - 150), # 150 - 400
3 : max(0, num - 400) # 400+
}
cost = parts[1] * prices[1] + parts[2] * prices[2] + parts[3] * prices[3]
print(f"{cost:.1f}")
oi_input = Solution.oi_input
oi_test = Solution.oi_test
solution = Solution.solution
if __name__ == '__main__':
num = oi_test()
# num = oi_input()
solution(num)
940

被折叠的 条评论
为什么被折叠?



