DEV Community

Daffa Haj Tsaqif
Daffa Haj Tsaqif

Posted on

Try to Prove “The House Always Wins” in Gambling with Python

Hello, I like money

Photo by [Stephen Leonardi](https://unsplash.com/@stephenleo1982?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com?utm_source=medium&utm_medium=referral)

NOTE: This blog was written in December 2022 in Medium but I republished it to Dev.to as i planned to migrate for my future writing

Editorial Note from the original post:

from the simulation itself, the loss is usually more than the win but I have a bad way to count how much they win and how much they lose and I need to repair this in the future.

but the logic behind the game itself is more or less correct, if anyone saw the flaws please tell me in the repo.

Backstory

So a few days ago my mom talk to me about how one of the neighbors borrowed money for ‘allegedly’ gambling online slots, and I naturally thought “How in the hell do people borrow money to lose it”, and since I always learned since I was little how bad gambling for ourselves, but in another side, I was fascinated in its economy and also the math of probability, heck it’s maybe one of my favorite branch of math(even though I don't really like math).

Simulating Gambling in Python

There are tons and tons of forms of gambling out there, some of them are “Skill-based” like poker, blackjack, and most card-based games out there, and the others are pure chance like slots, roulette, and pachinko(mechanical gambling in japan).

I want to simulate Roulette, more specifically European roulette where it has only one zero compared to the American counterparts where it has 0 and 00. This way the house edge (a mathematical advantage that the house has compared to the player) is lower than if we use American style Roulette to see how much the house will earn from such a small house edge, also its easier to code hehe

Photo by [Derek Lynn](https://unsplash.com/@derek_lynn?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com?utm_source=medium&utm_medium=referral)

What’s Roulette tho??

According to its Wikipedia page, Roulette is a casino game named after the French word meaning little wheel which was likely developed from the Italian game Biribi. In the game, a player may choose to place a bet on a single number, various groupings of numbers, the color red or black, whether the number is odd or even, or if the numbers are high (19–36) or low (1–18). The odds and the payout will depend on the bet the player placed, the broader the bets the better the odds they'll earn but the lesser the payout.

and how to calculate how much house edge of a game?

Since it's European Roulette, let's say the player places a bet on a single number then there is a 36 in 37 chance that the bet will lose and a 1 in 37 chance that you will earn 35 times your bet, so the house edge will be like below.

−1 × (36⁄37) + 35 × (1⁄37) = −0.0270 or 2.7% in favour of the house.

If it's American or heck, there is roulette with triple zeros, the house edge will naturally be higher so, in general, will have a bigger profit compared to the European one.

That's a general idea of Roulette, I will use Python to simulate how roulette works, and see how much they'll earn(or lose) and also how much the house will make.

The Simulator……Yab-

Shirakami Fubuki Hololive GIF - Shirakami Fubuki Hololive Yabe - Discover & Share GIFs

Click to view the GIF

  <div class="color-secondary fs-s flex items-center">
      <img
        alt="favicon"
        class="c-embed__favicon m-0 mr-2 radius-0"
        src="https://tenor.com/assets/img/favicon/favicon-16x16.png"
        loading="lazy" />
    tenor.com
  </div>
</div>
Enter fullscreen mode Exit fullscreen mode



Obviously, this is the hard part, so….fasten your seatbelt.

OMG, I didn't this blog actually takes a long time to make, too many effort for mere blog post lmao
GitHub - dhupee/roulette-simulation: a simple cli for roullete simulation

so I create this simple CLI to simulate roulette with Monte-Carlo simulation in it, can't really show the code here since its a bit long for this post but you can see it in Github(also give it some improvement hehe).

The CLI of the app, hope it looks self-explanatory

To be honest, I was having fun with this CLI not only I actually learned about Command-Line Interface and JIT compilation I found it interesting.

The Result

running it 3 times with three different tendency settings which just the setting on which bet type the simulator will choose, starter money of 10k, 100 rounds, bet size of 100, and 10000 sessions of betting I got this chart

wait, I don't know if I can place the picture like this

The safe tendency which chooses either dozen, column, odd or even, or other safe bet has such a chart that spread kinda evenly, don't you think??

The others, random and dangerous look kinda towards loss if I see it, the one where the player got profit is kinda sparse.

Do I Prove Anything?

not sure, this simulation has a lot of things left like the distribution chart and other features.

If I eyeball it, looks like it. More so on the random one, the chart looks so dense on the player losing that the chart where it wins it.

let me know more in the comment, and have fun with the script if you want. Better yet, help me improve it.

cheers

Top comments (15)

Collapse
 
tomasgreen profile image
Tommy Cooke • Edited

Diving into the analytics of gambling with Python to prove "the house always wins" is super intriguing! It's a fantastic application of programming skills to explore real-world scenarios and debunk or confirm long-standing theories. The insights from the simulation, despite the noted counting issue, contribute valuable perspectives to the understanding of gambling dynamics. On a related note, for those interested in exploring the world of gambling further, especially from a legal and structured standpoint, checking out legal casinos can offer both an educational and entertaining experience. For those interested in the gambling scene, https://pl.kasynopolska10.com/legalne-kasyna/ is a great resource for finding legal and regulated casinos. It’s always fascinating to see how different countries regulate gambling and the impact of those regulations on both the house and the player.

Collapse
 
hbenzaoui profile image
Hamza Benzaoui • Edited

I’ve played around with roulette simulations too just out of curiosity, trying to see how randomness and the house edge actually play out over large sample sizes. The Python approach helps put hard numbers on that “house always wins” idea, but it’s so easy to overlook things like how you tally wins and losses, especially with multiple bet types in play. European roulette still gives you slightly better odds, but you're mostly just slowing the bleed, not reversing it.

Lately, I’ve been testing bonuses tied to certain slots instead, where at least you get some extended gameplay out of it. I was messing around with the gonzos quest bonus and actually enjoyed how the Avalanche feature changes up the pacing.

Collapse
 
gentrificationzolaz profile image
gentrificationzolaz

This is a really cool way to demonstrate how the house always wins in gambling, especially when you break it down using Python. It's kind of like a game of blackjack or roulette where no matter how much you play, the odds are stacked against you in favor of the casino. But that's also what makes it so thrilling! Speaking of casinos, if you're ever looking for a great place to try your luck, check out casinoly - It's got everything from slots to poker to live betting, with amazing free spins and huge jackpot opportunities. Whether you're a seasoned pro or just starting out, the variety of games and bonuses make it a solid choice for anyone looking to dive into the action. It’s the perfect place to test your skills and, who knows, maybe you’ll beat the house!

Collapse
 
mohammaddarkazanly profile image
Mohammad-Darkazanly • Edited

I messed around with a Python simulation of European roulette last year too. I was curious how fast the losses add up when the house has even a tiny edge. After a few thousand iterations, it was clear that staying in the game longer just drained your balance slower. it never really turned around in the player’s favor. What helped me visualize it better was tracking streaks and average bet outcomes, which made me realize that even “close to break-even” strategies still lost over time.

When I wanted a break from code and just to enjoy some spins with bonuses, I’ve been using rajanaga777. It has a good mix of slots and live games, so it’s fun after diving deep into the math side of things.

Collapse
 
wiiliam_903656da78bced7bb profile image
Wiiliam • Edited

Interesting read! It's always eye-opening to see how the math plays out in gambling. If anyone's looking for a fair and transparent gaming experience, I’d recommend checking out this Secure Casino App that focuses on player trust and anti-manipulation features.

Collapse
 
walkermila profile image
Mila

Attempting to prove through Python that “the casino always wins” is a great way to look into the mathematical essence of gambling. And although statistics are often on the casino's side, in the world of social casinos, such as sixty6 , the focus is completely different: here, everything is built around emotions, social competition, and the enjoyment of the game, rather than monetary winnings. So even if the script shows the casino's advantage, on platforms like sixty6, you simply enjoy the process without unnecessary bets.

Collapse
 
kelvin302 profile image
Kelvin

This is an interesting exploration of gambling simulation! It's fascinating to see the mathematical and probabilistic aspects of roulette broken down so clearly. I appreciate the effort you put into creating the simulation and explaining the house edge so well.

I've recently been exploring similar simulations in game apps like Bdg Win. The platform offers various games that also delve into probability and chance, making it a great way to understand the mechanics of gambling while having fun. Your Python simulation could add a unique perspective to BDG Win's gaming experience. Keep up the great work, and thanks for sharing your insights!

Collapse
 
jessiccaa profile image
jessiccaa

good

Some comments may only be visible to logged-in visitors. Sign in to view all comments.