# Module stringDemos.py # re-order the sequence of words in a word-sequence -> sqorder() import random as rnd def sqorder(w): wl = w.split() # list() method would split the words into single letters print('List version of sqorder input =\n',wl) wll=[] n=len(wl) for i in range(n): r=rnd.randrange(0,n) wll.append(wl[r]) wnew='' for i in range(n): wnew=wnew+' '+wll[i] print('New word order in sequence with sqorder(): \n',wnew) return wnew # re-order the sequence of symbols in a word w -> worder() def worder(w): wl = list(w) wll=[] n=len(wl) for i in range(n): r=rnd.randrange(0,n) wll.append(wl[r]) wnew='' for i in range(n): wnew=wnew+wll[i] print('New in-word order with worder():\n ',wnew) return wnew # multiple re-order of single words in closed world ->mcworder() def mcworder(w): wl = w.split() # list() method would split the words into single letters print('List version of input in mcworder()=\n',wl) n=len(wl) # number of words! wn='' for i in range(n): wnn='' wnn=wnn+wl[i] # Make single word string wn=wn+' '+worder(wnn) # Make word sequence with processing new word print('New word-sequence order :\n ',wn) return wn # multiple re-order of single words in open world->moworder() def moworder(w): wl = w.split() # list() method would split the words into single letters print('List version of input in moworder()=\n',wl) n=len(wl) # number of words! wn='' for i in range(n): wnn='' wnn=wnn+wl[i] # Make single word string wnn=wreplace(wnn) wn=wn+' '+worder(wnn) # Make word sequence with processing new word print('New word-sequence order :\n ',wn) return wn # select randomly a new lower case letter and replace a given letter by this new one def wreplace(w): # Get randomly a new lower case letter coderange=[97,122] letter=chr(rnd.randrange(coderange[0],coderange[1]+1)) # Insert new letter randomly in given list of letters wl = list(w) n=len(wl) r=rnd.randrange(0,n) wl[r]=letter wnew='' for i in range(n): wnew=wnew+wl[i] print('New word with new letter : ',wnew) return wnew