Python:计算电费

案例3:计算电费
居民阶梯电价总电费=第一档电费+第二档电费+第三档电费。
夏季标准(5-10月)
第一档电量:每户每月0260度,电价不作调整;
第二档电量:每户每月261一600度,电价每度加价0.05元;第三档电量:每户每月601度及以上,电价每度加价0.30元。
非夏季标准(1-4月、11-12月):
第一档电量:每户每月0一200度,电价不作调整;
第二档电量:每户每月201-400度,电价每度加价 O .05元;第三档电量:每户每月401度及以上,电价每度加价0.30元。
不同城市的单位电价不同:北京0.53元/度
呼和浩特0.415元/度

问题分析:该问题大多使用大量分支语句进行判断与分析,目的是为了让学生更好的了解Python的分支语句,但是较为繁琐,但其思路简单,只是代码稍长。

因此,我选择对数据进行拆分,即算出每一阶段的用电量,在计算过程中,需要对数据进行做差,如果是正数,那么就是这个阶段的用电量,但是,如果出现负数,那么意味着,这一阶段没有用电,所以,我们需要对这个负数进行处理。

负数处理的原理如下:

本质是使用了绝对值对负数进行消除

达到答案为正数时正常显示,答案为负数时,记为0

((a-b)+|(a-b)|)/2

当a-b为负数时,正负相抵,变成0,0/2=0,不影响,除以2是为了正数时的修正

当a-b为正数时,正正相加,变成原来的2倍,因此需要除以2

综上所述,问题变得非常的简单,就是拿到数据算一下,故代码如下:

a=int(input("请选择你所在的城市:\n1--- 北京\n0--- 呼和浩特\n"))
if a:a=0.53
else:a=0.415
b=int(input("请选择当前的月份范围:\n1--- 5-10月\n0--- 其他月份\n"))
if b:b,c=260,600
else:b,c=200,400
n=float(input("请输入你所使用的用电量:"))
d3=((n-c)+abs(n-c))/2
d2=((n-d3-b)+abs(n-d3-b))/2
d1=n-d2-d3
n=d1*a+d2*(a+0.05)+d3*(a+0.30)
print("你所使用电量的电费为%.2lf元"%n)
input("请输入任意按键退出")

 

 

 

 

 

 

内师大

20计科汉一

指导老师:希闰高娃

  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fcz1116

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值