{ "info": { "author": "Roshan J Mehta", "author_email": "sonicroshan122@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# PyMonteCarlo\n\nPyMonteCarlo is a module that has helper function for monte carlo simulations\n\n## Getting Started\n\n### Installing PyMonteCarlo\n\n```\npip install (coming soon)\n```\n\n### Basics\n\n```python\nfrom PyMonteCarlo.mcs import MonteCarloSimulaterController as mcs\n\n#Flip A Coin. Output between 0 - 1\nmcs.flip_a_coin()\n#Roll Dice. Output between 1 - 6\nmcs.roll_a_dice()\n```\n\n\n## QuickStart Guide\nWe Will Create A Monte Carlo Simulator On A Rock, Papper, Scissor Game.\nYou Can Find This Game In Examples Folder In PyMonteCarlo Folder\n\n### Defining\n\n```python\nfrom PyMonteCarlo import MonteCarloSimulaterController as mcs\n\n\ncontroller = mcs.MonteCarloSimulaterController(actions = [\"ROCK\", \"PAPER\", \"SCISSOR\"], #All The Actions\n results = [\"PLAYER_1_WON\", \"PLAYER_2_WON\", \"TIE\"]) #All The Results\n```\n\n### Create Game Login\n```python\ndef play(player1_move, player2_move):\n \"\"\"Takes Two Player Input And Decide The Winner\"\"\"\n players = [player1_move, player2_move]\n\n if player1_move == player2_move:\n #They Both Tied\n return \"TIE\"\n\n moves = {\"ROCK\" : \"SCISSOR\", #Rock beats scissor\n \"SCISSOR\" : \"PAPER\",\n \"PAPER\" : \"ROCK\"}\n\n for player_index in range(len(players)):\n player_id = \"PLAYER_1_WON\" if player_index == 0 else \"PLAYER_2_WON\"\n for move in moves:\n if move == players[player_index] and moves[move] == players[1 if player_index == 0 else 0]:\n return player_id\n ```\n\n\n### Creating Simulation\n\n```python\n#The Main Simulations\nfor _ in range(1000):\n player1_action = controller.take_action() #Randomly takes action between rock, paper, scissor\n player2_action = controller.take_action()\n\n \"\"\"Also You Can Do This\n player2_action = controller.take_action(available_actions=[\"ROCK\",\"PAPER\"])\n If You Want To Change The Available Outputs\n \"\"\"\n\n\n winner = play(player1_action, player2_action)\n\n controller.add_result(winner) #Adds The Result To The Controller\n```\n\n\n### Viewing The Results\n\n```python\nprint(controller.results_count()) #Returns How Many Times Each Result Occurs\nprint(controller.max_result(strength=True)) #Returns The Maximum Times Occuring Result With Its Strenght Between 0 - 1. 0 means bad and 1 means amazing.\nprint(controller.avg_result(strength=True)) #Returns Average Result And Its Strength\nprint(controller.median_result(strength=True)) #Returns Median Result With Its Strength\n\n\"\"\"Output\n{'PLAYER_1_WON': 348, 'PLAYER_2_WON': 316, 'TIE': 336}\n('PLAYER_1_WON', 0.348)\n('TIE', 0.336)\n('TIE', 0.336)\n\"\"\"\n```\n\n# Contributing\nIf you have any suggestion either contact sonicroshan122@gmail or send a pull request\n\n\n## Authors\n\nRoshan Jignesh Mehta - sonicroshan122@gmail\n\n\n## Future\n\nThis Features Will Be Added In The Future\n\n* Monte Carlo Tree Search\n* Ploting The Monte Carlo Simulation Results And Action\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/SonicRoshan/PyMonteCarlo", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "MonteCarloPy", "package_url": "https://pypi.org/project/MonteCarloPy/", "platform": "", "project_url": "https://pypi.org/project/MonteCarloPy/", "project_urls": { "Homepage": "https://github.com/SonicRoshan/PyMonteCarlo" }, "release_url": "https://pypi.org/project/MonteCarloPy/0.1/", "requires_dist": null, "requires_python": "", "summary": "PyMonteCarlo is a module that has helper function for monte carlo simulations", "version": "0.1" }, "last_serial": 3940999, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "756215d242ce5ce790a17218201e2f6c", "sha256": "8a8579b10c282a144b54da97f8bee89d2d2c1bedc7484c0f741011fe050bd7cc" }, "downloads": -1, "filename": "MonteCarloPy-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "756215d242ce5ce790a17218201e2f6c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3778, "upload_time": "2018-06-07T20:35:53", "url": "https://files.pythonhosted.org/packages/84/28/e9d5be23787ad59510605e308e5260981c7e981a2ceff2c471380ae53f9b/MonteCarloPy-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5af0a12a6c61b44c12a4b05658aa8708", "sha256": "60933dc27b77c728e5677e099bafa3cbf69b788093ff6b9efb695815452ecb71" }, "downloads": -1, "filename": "MonteCarloPy-0.1.tar.gz", "has_sig": false, "md5_digest": "5af0a12a6c61b44c12a4b05658aa8708", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3493, "upload_time": "2018-06-07T20:35:54", "url": "https://files.pythonhosted.org/packages/d3/84/1f61fcb7048085df320f6141ea6f161799c018a9cc47cb020ed7e3f5841d/MonteCarloPy-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "756215d242ce5ce790a17218201e2f6c", "sha256": "8a8579b10c282a144b54da97f8bee89d2d2c1bedc7484c0f741011fe050bd7cc" }, "downloads": -1, "filename": "MonteCarloPy-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "756215d242ce5ce790a17218201e2f6c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3778, "upload_time": "2018-06-07T20:35:53", "url": "https://files.pythonhosted.org/packages/84/28/e9d5be23787ad59510605e308e5260981c7e981a2ceff2c471380ae53f9b/MonteCarloPy-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5af0a12a6c61b44c12a4b05658aa8708", "sha256": "60933dc27b77c728e5677e099bafa3cbf69b788093ff6b9efb695815452ecb71" }, "downloads": -1, "filename": "MonteCarloPy-0.1.tar.gz", "has_sig": false, "md5_digest": "5af0a12a6c61b44c12a4b05658aa8708", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3493, "upload_time": "2018-06-07T20:35:54", "url": "https://files.pythonhosted.org/packages/d3/84/1f61fcb7048085df320f6141ea6f161799c018a9cc47cb020ed7e3f5841d/MonteCarloPy-0.1.tar.gz" } ] }