commit aa71dd9307378f621b2bfee20061a97b5fc3944f Author: gablaxy <32848524+gablaxy@users.noreply.github.com> Date: Thu Apr 28 17:08:15 2022 +0200 Add files via upload diff --git a/roulette.ipynb b/roulette.ipynb new file mode 100644 index 0000000..7b68f55 --- /dev/null +++ b/roulette.ipynb @@ -0,0 +1,192 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Gain ( somme à addition en plus de la mise de départ si victoire ): \n", + "\n", + " - Rouge, Noir, Pair, Impair, 1 à 18, 19 à 36 : mise * 1\n", + " - à cheval sur 2 colonnes ( moitié des nombres ), douze nombres à cheval ( 1/3 des nombres, 24 ) : mise * 0.5\n", + " - colonne, douzaine : mise * 2\n", + " - sixain ( six nombres ) : mise * 5\n", + " - à cheval sur deux cases : mise * 17\n", + " - un seul nombre : mise * 35" + ] + }, + { + "cell_type": "code", + "execution_count": 292, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[(31, 69), (34, 66), (31, 69), (37, 63), (35, 65), (26, 74), (32, 68), (26, 74), (29, 71), (26, 74), (35, 65), (31, 69), (28, 72), (32, 68), (30, 70), (21, 79), (29, 71), (37, 63), (26, 74), (35, 65)]\n", + "moyenne parties gagnée ( stop à 14€ ) : 30.55\n", + "moyenne parties perdue ( stop à 14€ ) : 69.45\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "import numpy.random as rd\n", + "\n", + "\n", + "def tirage_num(n):\n", + " return rd.randint(0, 36, n)\n", + "\n", + "def rouge_noir(nb):\n", + " rouge = [1, 3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, 36]\n", + " noir = [2, 4, 6, 8, 10, 11, 13, 15, 17, 20, 22, 24, 26, 28, 29, 31, 33, 35]\n", + " if nb in rouge:\n", + " return 1\n", + " elif nb in noir:\n", + " return 2\n", + " else:\n", + " return 0\n", + "\n", + "def pair_impair(nb):\n", + " if nb % 2 == 0:\n", + " return 0\n", + " else:\n", + " return 1\n", + " \n", + "def victoire(nb, argent): # on considère que l'on joue à chaque partie 1€ sur rouge et 1€ sur pair\n", + " argent -= 2\n", + " if(rouge_noir(nb) == 1 and pair_impair(nb) == 0):\n", + " argent += 4\n", + " elif(rouge_noir(nb) == 1):\n", + " argent += 2\n", + " elif(pair_impair(nb) == 0):\n", + " argent += 2\n", + " if(pair_impair(nb) == 1 and rouge_noir(nb) == 2 ):\n", + " argent += 0\n", + " \n", + " return argent\n", + "\n", + "def partie(cashin,tirage): # cashin = prix auquel on veut stopper la partie, tirage = nombre de tirage par partie\n", + " argent_base = 10\n", + " max = argent_base\n", + " for i in tirage_num(tirage):\n", + " if(argent_base > 0 and argent_base < cashin):\n", + " argent_base = victoire(i, argent_base)\n", + " if(argent_base > max):\n", + " max = argent_base\n", + " else:\n", + " break\n", + " return argent_base\n", + "\n", + "def npartie(n,cashin,tirage): # n = nombre de partie que l'on veut faire, cashin = prix auquel on veut stopper la partie, tirage = nombre de tirage par partie\n", + " nb = 0\n", + " gagnée = 0\n", + " perdue = 0\n", + " for i in range(n):\n", + " nb = partie(cashin,tirage)\n", + " if(nb == cashin):\n", + " gagnée += 1\n", + " else:\n", + " perdue += 1\n", + " return gagnée, perdue\n", + " \n", + "list = []\n", + "count = 20\n", + "for i in range(count):\n", + " list.append(npartie(100,14,10))\n", + "\n", + "print(list)\n", + "\n", + "gagnee_moy = 0\n", + "perdue_moy = 0\n", + "\n", + "for i in list:\n", + " gagnee_moy += i[0]\n", + " perdue_moy += i[1]\n", + " \n", + "print(\"moyenne parties gagnée ( stop à 14€ ) :\", (gagnee_moy/count))\n", + "print(\"moyenne parties perdue ( stop à 14€ ) :\", (perdue_moy/count))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 282, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "100000\n", + "[(58920, 2164, 0), (59370, 2079, 0), (59218, 2149, 0), (58900, 2044, 0), (58853, 2098, 0), (59072, 2033, 0), (58734, 2065, 0), (59130, 2101, 0), (58996, 2050, 0), (58755, 1967, 0), (59134, 2103, 0), (59163, 2022, 0), (59126, 2054, 0), (59237, 2061, 0), (58827, 2051, 0), (59213, 2096, 0), (59056, 1990, 0), (58979, 2077, 0), (58814, 2167, 0), (59021, 2063, 0)]\n", + "moyenne parties gagnée ( stop à 12€ ) : 59.0259\n", + "moyenne parties perdue ( stop à 12€ ) : 2.0717\n" + ] + } + ], + "source": [ + "list = []\n", + "count = 0\n", + "for i in range(20):\n", + " list.append(npartie(100000,12,10))\n", + " count += 1\n", + "\n", + "print(list)\n", + "\n", + "gagnee_moy = 0\n", + "perdue_moy = 0\n", + "\n", + "for i in list:\n", + " gagnee_moy += i[0]\n", + " perdue_moy += i[1]\n", + " \n", + "print(\"moyenne parties gagnée ( stop à 12€ ) :\", (gagnee_moy/count)/1000)\n", + "print(\"moyenne parties perdue ( stop à 12€ ) :\", (perdue_moy/count)/1000)\n" + ] + } + ], + "metadata": { + "interpreter": { + "hash": "7a9ac839c22f4ef1a703331818f49c39c32798a52e733cd7e7abe47abde9bc75" + }, + "kernelspec": { + "display_name": "Python 3.10.4 64-bit", + "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.10.4" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +}