{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Brute Force D20 Roll Simulator" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- **Author:** [Chris Albon](http://www.chrisalbon.com/), [@ChrisAlbon](https://twitter.com/chrisalbon)\n", "- **Date:** -\n", "- **Repo:** [Python 3 code snippets for data science](https://github.com/chrisalbon/code_py)\n", "- **Note:** This snippit is a completely inefficient simulator of a 20 sided dice. To create a \"succussful roll\" the snippit has to generate dozens of random numbers." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Import random module" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import random" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create a variable with a TRUE value" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [], "source": [ "rolling = True" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create a while loop that rolls until the first digit is 2 or less and the second digit is 10 or less" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "Trying again.\n", "You rolled a 13.\n" ] } ], "source": [ "# while rolling is true\n", "while rolling:\n", " # create x, a random number between 0 and 99\n", " x = random.randint(0, 99)\n", " # create y, a random number between 0 and 99\n", " y = random.randint(0, 99)\n", " # if x is less than 2 and y is between 0 and 10\n", " if x < 2 and 0 < y < 10:\n", " # Print the outcome\n", " print('You rolled a {0}{1}.'.format(x, y))\n", " # And set roll of False\n", " rolling = False\n", " # Otherwise\n", " else:\n", " # Try again\n", " print('Trying again.')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.4.2" } }, "nbformat": 4, "nbformat_minor": 0 }