python绘制中国加油_软件开发|使用 Python 为你的油箱加油

我来介绍一下我是如何使用 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 汽油直到耗尽,这可能会是我的常规方案。就我个人而言,这种方法并不太好,有时甚至会产生一些麻烦。但对于长途旅行来说,这种方案会相对简便一些。有时我也会因为油价突然下跌而购买一些汽油,所以,这个方案是我可以考虑的一系列选项之一。

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

python绘制中国加油_软件开发|使用 Python 为你的油箱加油

相关资源:汽轮机仿真软件.zip-机器学习工具类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月10日
下一篇 2020年11月10日

相关推荐