CapLetters=['A','B','C','D','E']
SmaLetters=['a','b','c','d','e']
Numbers=['1','2','3','4','5']
Specials=['!','@','#','$','%']
Direction={'U':CapLetters,'L':SmaLetters,'N':Numbers,'S':Specials}
import random
def GenRandStr(strlen,*shortletter):
BeforeSort=[]
TypeNum=len(shortletter)
if TypeNum>strlen:
print "Wrong!String too short!"
return ""
else:
for EachLetter in shortletter:
if Direction.has_key(EachLetter):
ExtendList=Direction[EachLetter]
BeforeSort.extend(random.choice(ExtendList))
else:
print "Unexpected parameters!Try again!"
return ""
Joined=JoinLists(shortletter)
for i in range(0,strlen-TypeNum):
BeforeSort.extend(random.choice(Joined))
random.shuffle(BeforeSort)
JoinString=""
return JoinString.join(BeforeSort)
def JoinLists(somelist):
JoinedList=[]
for Type in somelist:
JoinedList.extend(Direction[Type])
return JoinedList
print GenRandStr(5,"U","L","N")
#raw_input('Press enter to exit.')