rand will take its argument, and return a number somewhere between 0 and n-1 (0 -> 5 in this case). Actually it will return, though I'm not sure to what decimal depth, a random fractional number (0.0* -> 5.9*). Applying int() to the result causes it to round the fractional to a whole number. Then we add one.