我来介绍一下我是如何使用 Python 来节省成本的。
我最近在开一辆烧 93 汽油的车子。根据汽车制造商的说法,它只需要加 91 汽油就可以了。然而,在美国只能买到 87 、89 、93 汽油。而我家附近的汽油的物价水平是每增加一 ,每加仑就要多付 30 美分,因此如果加 93 汽油,每加仑就要多花 60 美分。为什么不能节省一些钱呢p>
一开始很简单,只需要先加满 93 汽油,然后在油量表显示油箱半满的时候,用 89 汽油加满,就得到一整箱 91 汽油了。但接下来就麻烦了,剩下半箱 91 汽油加上半箱 93 汽油,只会变成一箱 92 汽油,再接下来呢继续算下去,只会越来越混乱。这个时候 Python 就派上用场了。
我的方案是,可以根据汽油的实时状态,不断向油箱中加入 93 汽油或者 89 汽油,而最终目标是使油箱内汽油的 数不低于 91。我需要做的是只是通过一些算法来判断新旧汽油混合之后的 数。使用多项式方程或许也可以解决这个问题,但如果使用 Python,好像只需要进行循环就可以了。
#!/usr/bin/env python
# octane.py
o = 93.0
newgas = 93.0 # 这个变量记录上一次加入的汽油 数
i = 1
while i
if newgas == 89.0: # 如果上一次加的是 89 汽油,改加 93 汽油
newgas = 93.0
o = newgas/2 + o/2 # 当油箱半满的时候就加油
else: # 如果上一次加的是 93 汽油,则改加 89 汽油
newgas = 89.0
o = newgas/2 + o/2 # 当油箱半满的时候就加油
print str(i) + ‘: ‘+ str(o)
i += 1
在代码中,我首先将变量 o(油箱中的当前混合汽油 数)和变量 newgas(上一次加入的汽油 数)的初始值都设为 93,然后循环 20 次,也就是分别加入 89 汽油和 93 汽油一共 20 次,以保持混合汽油 数稳定。
1: 91.0
2: 92.0
3: 90.5
4: 91.75
5: 90.375
6: 91.6875
7: 90.34375
8: 91.671875
9: 90.3359375
10: 91.66796875
11: 90.333984375
12: 91.6669921875
13: 90.3334960938
14: 91.6667480469
15: 90.3333740234
16: 91.6666870117
17: 90.3333435059
18: 91.6666717529
19: 90.3333358765
20: 91.6666679382
从以上数据来看,只需要 10 到 15 次循环,汽油 数就比较稳定了,也相当接近 91 汽油的目标。这种交替混合直到稳定的现象看起来很有趣,每次交替加入同等量的不同 数汽油,都会趋于稳定。实际上,即使加入的 89 汽油和 93 汽油的量不同,也会趋于稳定。
因此,我尝试了不同的比例,我认为加入的 93 汽油需要比 89 汽油更多一点。在尽量少补充新汽油的情况下,我最终计算到的结果是 89 汽油要在油箱大约 7/12 满的时候加进去,而 93 汽油则要在油箱 ? 满的时候才加进去。
我的循环将会更改成这样:
if newgas == 89.0:
newgas = 93.0
o = 3*newgas/4 + o/4
else:
newgas = 89.0
o = 5*newgas/12 + 7*o/12
以下是从第十次加油开始的混合汽油 数:
10: 92.5122272978
11: 91.0487992571
12: 92.5121998143
13: 91.048783225
14: 92.5121958062
15: 91.048780887
如你所见,这个调整会令混合汽油 数始终略高于 91。当然,我的油量表并没有 1/12 的刻度,但是 7/12 略小于 5/8,我可以近似地计算。
一个更简单地方案是每次都首先加满 93 汽油,然后在油箱半满时加入 89 汽油直到耗尽,这可能会是我的常规方案。就我个人而言,这种方法并不太好,有时甚至会产生一些麻烦。但对于长途旅行来说,这种方案会相对简便一些。有时我也会因为油价突然下跌而购买一些汽油,所以,这个方案是我可以考虑的一系列选项之一。
当然最重要的是:开车不写码,写码不开车!

相关资源:汽轮机仿真软件.zip-机器学习工具类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!