Monty Hall problem: Difference between revisions

Content added Content deleted
m (Added the Sidef language)
Line 3,059: Line 3,059:
Switching wins 6654 times
Switching wins 6654 times
Staying wins 3346 times
Staying wins 3346 times
</pre>

=={{header|Sidef}}==
<lang ruby>var n = 1000; # number of times to play
var switchWins = var stayWins = 0; # sum of each strategy's wins

n.times { # play the game n times
var prize = 3.rand.int;
var chosen = 3.rand.int;

var show;
{ show = 3.rand.int }
do while {show ~~ [chosen, prize]};

given(chosen)
when (prize) { stayWins += 1 }
when (3 - show - prize) { switchWins += 1 }
default { die "~ error ~" };
}

say ("Staying wins %.2f%% of the time." % (100.0 * stayWins / n));
say ("Switching wins %.2f%% of the time." % (100.0 * switchWins / n));</lang>
{{out}}
<pre>
Staying wins 34.80% of the time.
Switching wins 65.20% of the time.
</pre>
</pre>