On 06/26/2012 03:47 PM, Martin A. Brown wrote: > Hello, > > : Would anyone have tips on how to generate random 4-digit > : alphanumeric codes in python? Also, how does one calculate the > : number of possible combinations? > > Here are some thoughts that come to my mind: > > import string > import random > > # -- technique #1, using random.choice > print ''.join([random.choice(string.lowercase) for x in range(4)]) > > # -- technique #2, using random.shuffle > t = [ x for x in string.lowercase ] > random.shuffle(t) > ''.join(t[0:4]) > > # -- technique #3, using random.sample > ''.join(random.sample(string.lowercase,4)) > > I would be quite surprised if there were not more efficient ways of > accomplishing this. > > -Martin > Two problems that I see:
string.lowercase includes the lowercase letters, but not the digits. Your methods 2 and 3 produce different results than method1. The OP never specified which he wanted, but the distinction can well be important. Likewise his query about how many possibilities there are depends on the same question: Are duplicates permitted between the four characters in any given answer. -- DaveA _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor