{ "cells": [ { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "import os\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import scipy.stats" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "res = [int(os.popen('rolldice d20').read()) for i in range(10000)]" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([541., 487., 471., 503., 531., 517., 489., 479., 490., 498., 505.,\n", " 503., 488., 484., 515., 478., 522., 476., 533., 490.]),\n", " array([ 1. , 1.95, 2.9 , 3.85, 4.8 , 5.75, 6.7 , 7.65, 8.6 ,\n", " 9.55, 10.5 , 11.45, 12.4 , 13.35, 14.3 , 15.25, 16.2 , 17.15,\n", " 18.1 , 19.05, 20. ]),\n", " )" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.hist(res, bins=20)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Power_divergenceResult(statistic=31984.521923755903, pvalue=0.0)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "scipy.stats.chisquare(res)" ] } ], "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.7.1" } }, "nbformat": 4, "nbformat_minor": 2 }