Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: Is this really random?

by ColonelPanic (Friar)
on Nov 22, 2012 at 08:39 UTC ( #1005078=note: print w/ replies, xml ) Need Help??


in reply to Is this really random?

A simple test:

my $sum = 0; for( 1..10_000_000 ) { $sum++ if coin_toss() eq 'heads'; } print $sum;

The result I got was 5,000,938, meaning heads happened 50.01% of the time. Seems pretty reasonable.

Most people's perceptions of randomness are notoriously faulty. For example, they seriously underestimate the number of times repeated numbers will appear in a sequence.

One suggestion: I think it is clearer to use int() to specify that you want a random integer:

my $index = int rand @coin; return $coin[ $index ];

As your code is written, you are using a floating point number as the array index. This works (because it is converted to integer), but it is a little unusual. You wouldn't write  $array[1.5]



When's the last time you used duct tape on a duct? --Larry Wall


Comment on Re: Is this really random?
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1005078]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2015-07-30 04:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (269 votes), past polls