In article <mailman.4068.1324821046.27778.python-l...@python.org>, Chris Angelico <ros...@gmail.com> wrote:
> "%020d"%random.randint(0,99999999999999999999) > (the latter gives you a string, padded with leading zeroes). But I'm > assuming that you discarded that option due to lack of entropy (ie you > can't trust randint() over that huge a range). Actually, the only entropy involved here is the ever increasing amount of it between my ears. It never occurred to me to try that :-) > For your actual task, I'd be inclined to take ten digits, twice, and > not bother with join(): > > '%010d%010d'%(random.randint(0,9999999999),random.randint(0,9999999999)) > > Looks a little ugly, but it works! And only two random number calls > (which can be expensive). Hmmm. In my case, I was looking more to optimize clarity of code, not speed. This is being used during account creation on a web site, so it doesn't get run very often. It turns out, I don't really need 20 digits. If I can count on >>> "%020d" % random.randint(0,999999999999999) to give me 15-ish digits, that's good enough for my needs and I'll probably go with that. Thanks. -- http://mail.python.org/mailman/listinfo/python-list