想省油钱,你使用Python为你的油箱加油啊

我来介绍一下我是如何使用 Python 来节省成本的。

创新互联专业为企业提供红山网站建设、红山做网站、红山网站设计、红山网站制作等企业网站建设、网页设计与制作、红山企业网站模板建站服务,十余年红山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

我最近在开一辆烧 93 号汽油的车子。根据汽车制造商的说法,它只需要加 91 号汽油就可以了。然而,在美国只能买到 87 号、89 号、93 号汽油。而我家附近的汽油的物价水平是每增加一号,每加仑就要多付 30 美分,因此如果加 93 号汽油,每加仑就要多花 60 美分。为什么不能节省一些钱呢?

一开始很简单,只需要先加满 93 号汽油,然后在油量表显示油箱半满的时候,用 89 号汽油加满,就得到一整箱 91 号汽油了。但接下来就麻烦了,剩下半箱 91 号汽油加上半箱 93 号汽油,只会变成一箱 92 号汽油,再接下来呢?如果继续算下去,只会越来越混乱。这个时候 Python 就派上用场了。

我的方案是,可以根据汽油的实时状态,不断向油箱中加入 93 号汽油或者 89 号汽油,而最终目标是使油箱内汽油的号数不低于 91。我需要做的是只是通过一些算法来判断新旧汽油混合之后的号数。使用多项式方程或许也可以解决这个问题,但如果使用 Python,好像只需要进行循环就可以了。

 
 
 
  1. #!/usr/bin/env python
  2. # octane.py
  3.  
  4. o = 93.0
  5. newgas = 93.0 # 这个变量记录上一次加入的汽油号数
  6. i = 1
  7. while i < 21: # 20 次迭代 (加油次数)
  8. if newgas == 89.0: # 如果上一次加的是 89 号汽油,改加 93 号汽油
  9. newgas = 93.0
  10. o = newgas/2 + o/2 # 当油箱半满的时候就加油
  11. else: # 如果上一次加的是 93 号汽油,则改加 89 号汽油
  12. newgas = 89.0
  13. o = newgas/2 + o/2 # 当油箱半满的时候就加油
  14. print str(i) + ': '+ str(o)
  15. i += 1

在代码中,我首先将变量 o(油箱中的当前混合汽油号数)和变量 newgas(上一次加入的汽油号数)的初始值都设为 93,然后循环 20 次,也就是分别加入 89 号汽油和 93 号汽油一共 20 次,以保持混合汽油号数稳定。

 
 
 
  1. 1: 91.0
  2. 2: 92.0
  3. 3: 90.5
  4. 4: 91.75
  5. 5: 90.375
  6. 6: 91.6875
  7. 7: 90.34375
  8. 8: 91.671875
  9. 9: 90.3359375
  10. 10: 91.66796875
  11. 11: 90.333984375
  12. 12: 91.6669921875
  13. 13: 90.3334960938
  14. 14: 91.6667480469
  15. 15: 90.3333740234
  16. 16: 91.6666870117
  17. 17: 90.3333435059
  18. 18: 91.6666717529
  19. 19: 90.3333358765
  20. 20: 91.6666679382

从以上数据来看,只需要 10 到 15 次循环,汽油号数就比较稳定了,也相当接近 91 号汽油的目标。这种交替混合直到稳定的现象看起来很有趣,每次交替加入同等量的不同号数汽油,都会趋于稳定。实际上,即使加入的 89 号汽油和 93 号汽油的量不同,也会趋于稳定。

因此,我尝试了不同的比例,我认为加入的 93 号汽油需要比 89 号汽油更多一点。在尽量少补充新汽油的情况下,我最终计算到的结果是 89 号汽油要在油箱大约 7/12 满的时候加进去,而 93 号汽油则要在油箱 ¼ 满的时候才加进去。

我的循环将会更改成这样:

 
 
 
  1. if newgas == 89.0:
  2. newgas = 93.0
  3. o = 3*newgas/4 + o/4
  4. else:
  5. newgas = 89.0
  6. o = 5*newgas/12 + 7*o/12

以下是从第十次加油开始的混合汽油号数:

 
 
 
  1. 10: 92.5122272978
  2. 11: 91.0487992571
  3. 12: 92.5121998143
  4. 13: 91.048783225
  5. 14: 92.5121958062
  6. 15: 91.048780887

如你所见,这个调整会令混合汽油号数始终略高于 91。当然,我的油量表并没有 1/12 的刻度,但是 7/12 略小于 5/8,我可以近似地计算。

一个更简单地方案是每次都首先加满 93 号汽油,然后在油箱半满时加入 89 号汽油直到耗尽,这可能会是我的常规方案。就我个人而言,这种方法并不太好,有时甚至会产生一些麻烦。但对于长途旅行来说,这种方案会相对简便一些。有时我也会因为油价突然下跌而购买一些汽油,所以,这个方案是我可以考虑的一系列选项之一。

当然最重要的是:开车不写码,写码不开车!

分享标题:想省油钱,你使用Python为你的油箱加油啊
分享路径:http://www.shufengxianlan.com/qtweb/news6/258506.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联