def randint(a, b=None):
<EOL>if b is None:<EOL><INDENT>return _randint(<NUM_LIT:0>, a-<NUM_LIT:1>)<EOL><DEDENT>else:<EOL><INDENT>return _randint(a, b-<NUM_LIT:1>)<EOL><DEDENT>
Return a random integer

    :param int a: Either the minimum value (inclusive) if ``b`` is set, or
    the maximum value if ``b`` is not set (non-inclusive, in which case the minimum
    is implicitly 0)
    :param int b: The maximum value to generate (non-inclusive)
    :returns: int