import pandas as pd import numpy as np pd.set_option('display.multi_sparse', False) ############################################################ # # This program simulates a Martingale system betting on red # with a double zero roulette wheel. # # Run this online free at # # https://www.programiz.com/python-programming/online-compiler/ # ############################################################# ############################################################ # # User Data # ############################################################# number_of_spins = 50 startingBet = 5 ############################################################ # # Program variables # ############################################################# # Roulette Wheel # 1: red, 0: black, 3:green roulette_color = [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1,3,3] betAmount = startingBet # Spins, 37 and 38 represent 0 and 00 data = {'numbers': np.random.randint(1, 39, number_of_spins), 'color': ['-'] * number_of_spins, 'bet': np.zeros(number_of_spins), 'bank': np.zeros(number_of_spins) } df = pd.DataFrame(data) ############################################################ # # Program functions # ############################################################# # Get colors def get_color(row): if roulette_color[int(row['numbers'])] == 1: return 'red' if roulette_color[int(row['numbers'])] == 0: return 'black' else: return 'green' ########################################################### # # Play # ############################################################# # Lookup colors df['color'] = df.apply(get_color, axis=1) for index, row in df.iterrows(): if row['color'] == 'red': if index>0: df.at[index, 'bank'] = df.at[index-1, 'bank'] + betAmount else: df.at[index, 'bank'] = betAmount df.at[index, 'bet'] = betAmount betAmount = startingBet else: if index>0: df.at[index, 'bank'] = df.at[index-1, 'bank'] - betAmount else: df.at[index, 'bank'] = 0-betAmount df.at[index, 'bet'] = betAmount betAmount *= 2 ############################################################ # # Print # ############################################################# print(df.to_string(index=False))