# 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