1. 程式人生 > >硬幣遊戲---代碼分析與改進

硬幣遊戲---代碼分析與改進

src es2017 遠程 修改 sch 需要 概率 else 可能性

一、錢箱使用規則

1.在地鐵口放置錢箱,內放500枚硬幣。

2.如需要零錢,可以取其中1~5枚硬幣,如果不足所需,則取光。取錢傾向多取。

3.善良的人可以往其中放置一枚硬幣,放錢傾向少放。

通過對Python編碼風格規則的學習,對代碼進行了一些改進,改動後輸出結果截圖如下:

技術分享

二、程序代碼修改

 # 算法模擬
     
 for x in range(1,5000):  # 循環次數表示參與人數
     
-     flag= random.randint(1,10) # flag 模擬人們取硬幣或放硬幣的概率 
     
-     if flag > Threshold:
     
- # 放硬幣 - delta=random.randint(1,Max_DonateCoin) - delta=random.randint(1,delta) # 模擬了人們捐款可能性,有偏少的傾向 - Box_sum =Box_sum + delta - Box_per_remain.append(Box_sum) + flag= random.randint(1,10) # flag 模擬人們取硬幣或放硬幣的概率 + if flag > Threshold:
+ # 放硬幣 + delta=random.randint(1,Max_DonateCoin) + delta=random.randint(1,delta) # 模擬了人們捐款可能性,有偏少的傾向 + Box_sum =Box_sum + delta + Box_per_remain.append(Box_sum) + else: + # 取硬幣 + delta=random.randint(1,Max_TakeCoin) + delta=random.randint(delta,Max_TakeCoin) # 模擬了人 取硬幣的可能性,偏多的傾向
+ if Box_sum < delta: + Box_sum =0 # 如果不夠取,則取光 else: - # 取硬幣 - delta=random.randint(1,Max_TakeCoin) - delta=random.randint(delta,Max_TakeCoin) # 模擬了人 取硬幣的可能性,偏多的傾向 - if Box_sum < delta: - Box_sum =0 # 如果不夠取,則取光 - else: - Box_sum =Box_sum - delta - Box_per_remain.append(Box_sum) + Box_sum =Box_sum - delta + Box_per_remain.append(Box_sum) print(Box_per_remain) @@ -55,4 +55,4 @@ x= np.arange(len(Box_per_remain)) plt.plot(x,Box_per_remain,color=r) plt.bar(x,Box_per_remain,alpha=.5,color=g) -plt.show() \ No newline at end of file +plt.show()

技術分享

技術分享

技術分享

修改代碼部分:代碼總共改動了16行,主要是根據Python編碼風格方面準則的縮進:4空格(不要用tab)來改進的。

三、遠程倉庫鏈接:http://git.oschina.net/whan0812

硬幣遊戲---代碼分析與改進