新聞中心
我來介紹一下我是如何使用 Python 來節(jié)省成本的。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供紅山網(wǎng)站建設(shè)、紅山做網(wǎng)站、紅山網(wǎng)站設(shè)計(jì)、紅山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、紅山企業(yè)網(wǎng)站模板建站服務(wù),十余年紅山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
我最近在開一輛燒 93 號(hào)汽油的車子。根據(jù)汽車制造商的說法,它只需要加 91 號(hào)汽油就可以了。然而,在美國(guó)只能買到 87 號(hào)、89 號(hào)、93 號(hào)汽油。而我家附近的汽油的物價(jià)水平是每增加一號(hào),每加侖就要多付 30 美分,因此如果加 93 號(hào)汽油,每加侖就要多花 60 美分。為什么不能節(jié)省一些錢呢?
一開始很簡(jiǎn)單,只需要先加滿 93 號(hào)汽油,然后在油量表顯示油箱半滿的時(shí)候,用 89 號(hào)汽油加滿,就得到一整箱 91 號(hào)汽油了。但接下來就麻煩了,剩下半箱 91 號(hào)汽油加上半箱 93 號(hào)汽油,只會(huì)變成一箱 92 號(hào)汽油,再接下來呢?如果繼續(xù)算下去,只會(huì)越來越混亂。這個(gè)時(shí)候 Python 就派上用場(chǎng)了。
我的方案是,可以根據(jù)汽油的實(shí)時(shí)狀態(tài),不斷向油箱中加入 93 號(hào)汽油或者 89 號(hào)汽油,而最終目標(biāo)是使油箱內(nèi)汽油的號(hào)數(shù)不低于 91。我需要做的是只是通過一些算法來判斷新舊汽油混合之后的號(hào)數(shù)。使用多項(xiàng)式方程或許也可以解決這個(gè)問題,但如果使用 Python,好像只需要進(jìn)行循環(huán)就可以了。
#!/usr/bin/env python# octane.pyo = 93.0newgas = 93.0 # 這個(gè)變量記錄上一次加入的汽油號(hào)數(shù)i = 1while i < 21: # 20 次迭代 (加油次數(shù))if newgas == 89.0: # 如果上一次加的是 89 號(hào)汽油,改加 93 號(hào)汽油newgas = 93.0o = newgas/2 + o/2 # 當(dāng)油箱半滿的時(shí)候就加油else: # 如果上一次加的是 93 號(hào)汽油,則改加 89 號(hào)汽油newgas = 89.0o = newgas/2 + o/2 # 當(dāng)油箱半滿的時(shí)候就加油print str(i) + ': '+ str(o)i += 1
在代碼中,我首先將變量 o(油箱中的當(dāng)前混合汽油號(hào)數(shù))和變量 newgas(上一次加入的汽油號(hào)數(shù))的初始值都設(shè)為 93,然后循環(huán) 20 次,也就是分別加入 89 號(hào)汽油和 93 號(hào)汽油一共 20 次,以保持混合汽油號(hào)數(shù)穩(wěn)定。
1: 91.02: 92.03: 90.54: 91.755: 90.3756: 91.68757: 90.343758: 91.6718759: 90.335937510: 91.6679687511: 90.33398437512: 91.666992187513: 90.333496093814: 91.666748046915: 90.333374023416: 91.666687011717: 90.333343505918: 91.666671752919: 90.333335876520: 91.6666679382
從以上數(shù)據(jù)來看,只需要 10 到 15 次循環(huán),汽油號(hào)數(shù)就比較穩(wěn)定了,也相當(dāng)接近 91 號(hào)汽油的目標(biāo)。這種交替混合直到穩(wěn)定的現(xiàn)象看起來很有趣,每次交替加入同等量的不同號(hào)數(shù)汽油,都會(huì)趨于穩(wěn)定。實(shí)際上,即使加入的 89 號(hào)汽油和 93 號(hào)汽油的量不同,也會(huì)趨于穩(wěn)定。
因此,我嘗試了不同的比例,我認(rèn)為加入的 93 號(hào)汽油需要比 89 號(hào)汽油更多一點(diǎn)。在盡量少補(bǔ)充新汽油的情況下,我最終計(jì)算到的結(jié)果是 89 號(hào)汽油要在油箱大約 7/12 滿的時(shí)候加進(jìn)去,而 93 號(hào)汽油則要在油箱 ? 滿的時(shí)候才加進(jìn)去。
我的循環(huán)將會(huì)更改成這樣:
if newgas == 89.0:newgas = 93.0o = 3*newgas/4 + o/4else:newgas = 89.0o = 5*newgas/12 + 7*o/12
以下是從第十次加油開始的混合汽油號(hào)數(shù):
10: 92.512227297811: 91.048799257112: 92.512199814313: 91.04878322514: 92.512195806215: 91.048780887
如你所見,這個(gè)調(diào)整會(huì)令混合汽油號(hào)數(shù)始終略高于 91。當(dāng)然,我的油量表并沒有 1/12 的刻度,但是 7/12 略小于 5/8,我可以近似地計(jì)算。
一個(gè)更簡(jiǎn)單地方案是每次都首先加滿 93 號(hào)汽油,然后在油箱半滿時(shí)加入 89 號(hào)汽油直到耗盡,這可能會(huì)是我的常規(guī)方案。就我個(gè)人而言,這種方法并不太好,有時(shí)甚至?xí)a(chǎn)生一些麻煩。但對(duì)于長(zhǎng)途旅行來說,這種方案會(huì)相對(duì)簡(jiǎn)便一些。有時(shí)我也會(huì)因?yàn)橛蛢r(jià)突然下跌而購(gòu)買一些汽油,所以,這個(gè)方案是我可以考慮的一系列選項(xiàng)之一。
當(dāng)然最重要的是:開車不寫碼,寫碼不開車!
文章題目:想省油錢,你使用Python為你的油箱加油啊
URL分享:http://www.dlmjj.cn/article/dhejsos.html


咨詢
建站咨詢

