the only difference that i know between randrange and randint is that andrange([start], stop[, step]) you can use the step and random.randrange(0,1) will not considerate the last item and randint(0,1) return a choice inclusive of the last item
so, i can't find a reason for explain why randrange(0,1) doesn't return 0 or 1, why exist randint(0, 1) and randrange(0, 2) instead of a randrange(0, 1) who returns 0 or 1?