硬币游戏---代码分析与改进

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了硬币游戏---代码分析与改进相关的知识,希望对你有一定的参考价值。

一、钱箱使用规则

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

以上是关于硬币游戏---代码分析与改进的主要内容,如果未能解决你的问题,请参考以下文章

硬币游戏—— 代码分析与改进

Chapter2硬币游戏——代码分析与改进

2017(秋)软工作业: 硬币游戏—— 代码分析与改进

软件工程作业2——硬币游戏—— 代码分析与改进

软工作业2:硬币游戏——代码的分析与改进

[SakuraiYo][软工作业]硬币游戏—— 代码分析与改进