Skip to content
{{ message }}

Instantly share code, notes, and snippets.

# Tafkas/rouletty.py

Created Dec 9, 2013
A simulation of the martingale roulette system
 #!/usr/local/bin/python # encoding: utf-8 import random import time import matplotlib.pyplot as plt import numpy as np #simulates the martingale roulette system def simulation(): print("Here we go") # maximum money you can put on the table limit = 1200 #rounds of games simulated rounds = 10000 #get time stamp before = time.clock() #simulates games up to the target of 1000..2000 units by 100 x, y = [], [] for i in xrange(1000, 2001, 100): print(i) won = 0 #games won for j in xrange(1, rounds): target = i #if reached target => success money = 1000 # inital money bet = 1 #inital bet while True: if (money >= target): won += 1 break number = random.randrange(0, 37) # Rien ne va plus! if (number == 0): # zero always loses money -= bet bet *= 2 else: if (number % 2) == 0 :# even number == round won money += bet bet = 1 else: # odd number == round lost money -= bet bet *= 2 if (bet > money): # put in all you have bet = money if (money <= 0): # poor you break if (bet > limit): # cannot go over the limit bet = limit #compute statistics lost = rounds - won ratio = (100*won/rounds) x.append(i) y.append(ratio) # chart says more than a thousand words x, y = np.array(x), np.array(y) line, = plt.plot(x, y, '--', linewidth=2) plt.xlabel('Winning Target') plt.ylabel('Probability') plt.title('Martingale starting with 1000 units and 1200 tabel limit') plt.ylim(ymin=0) plt.grid() plt.show() print('Target: %d, Games won: %d, Games lost: %d, Ratio: %f' % (target, won, lost, ratio)) elapsed = time.clock() - before print("%d rounds took %d seconds" % (rounds, elapsed)) def main(): #start the simulation simulation() if __name__ == '__main__': main()
to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.