pymontecarlo是一个具有monte carlo模拟辅助功能的模块。

MonteCarlo的Python项目详细描述


皮蒙特卡罗

pymontecarlo是一个具有monte carlo模拟辅助功能的模块

开始

安装pymontecarlo

pip install (coming soon)

基础知识

fromPyMonteCarlo.mcsimportMonteCarloSimulaterControllerasmcs#Flip A Coin. Output between 0 - 1mcs.flip_a_coin()#Roll Dice. Output between 1 - 6mcs.roll_a_dice()

快速入门指南

我们将在一个岩石,帕珀,剪刀游戏上创建一个蒙特卡洛模拟器。 您可以在pymontecarlo文件夹的examples文件夹中找到此游戏

定义

fromPyMonteCarloimportMonteCarloSimulaterControllerasmcscontroller=mcs.MonteCarloSimulaterController(actions=["ROCK","PAPER","SCISSOR"],#All The Actionsresults=["PLAYER_1_WON","PLAYER_2_WON","TIE"])#All The Results

创建游戏登录

defplay(player1_move,player2_move):"""Takes Two Player Input And Decide The Winner"""players=[player1_move,player2_move]ifplayer1_move==player2_move:#They Both Tiedreturn"TIE"moves={"ROCK":"SCISSOR",#Rock beats scissor"SCISSOR":"PAPER","PAPER":"ROCK"}forplayer_indexinrange(len(players)):player_id="PLAYER_1_WON"ifplayer_index==0else"PLAYER_2_WON"formoveinmoves:ifmove==players[player_index]andmoves[move]==players[1ifplayer_index==0else0]:returnplayer_id

创建模拟

#The Main Simulationsfor_inrange(1000):player1_action=controller.take_action()#Randomly takes action between rock, paper, scissorplayer2_action=controller.take_action()"""Also You Can Do This    player2_action = controller.take_action(available_actions=["ROCK","PAPER"])    If You Want To Change The Available Outputs    """winner=play(player1_action,player2_action)controller.add_result(winner)#Adds The Result To The Controller

查看结果

print(controller.results_count())#Returns How Many Times Each Result Occursprint(controller.max_result(strength=True))#Returns The Maximum Times Occuring Result With Its Strenght Between 0 - 1. 0 means bad and 1 means amazing.print(controller.avg_result(strength=True))#Returns Average Result And Its Strengthprint(controller.median_result(strength=True))#Returns Median Result With Its Strength"""Output{'PLAYER_1_WON': 348, 'PLAYER_2_WON': 316, 'TIE': 336}('PLAYER_1_WON', 0.348)('TIE', 0.336)('TIE', 0.336)"""

贡献

如果您有任何建议,请联系sonicroshan122@gmail或发送请求

作者

roshan jignesh mehta-sonicroshan122@gmail

未来

这些功能将在以后添加

  • 蒙特卡罗树搜索
  • 绘制蒙特卡罗模拟结果和操作

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java创建猜谜游戏程序   JavaWebSocketContainer。connectToServer似乎挂起了   如何在java中中断函数   java c#socket client multiple BeginSend()未到达服务器   不可见的组件然后在Java中的窗格之间切换   java在应用程序类中使用静态接口安全吗?   java等待函数完成,直到回调到来   使用DataOutputStream时的java新行,Android   java服务对象的定义是什么?   基于视图的javahibernate复合密钥   java将varchar连接到char在JPA(oracle)中不起作用   如何在java中通过point类读取多个点?