def mutWort(wort,abc): """ Zufaellig soll eine Mutation an I:wort ausgefuehrt werden. Die Mutationen sind hierbei: Entfernen eines beliebigen Buchstabens Hinzufuegen eines bel. Buchstabens aus I:abc Austauschen eines bel. Buchstabens durch einen aus I:abc """ #Auswahl der Mutationsmethode meth=rrandint(1,3) #Auswahl der Position pos=rrandint(0,len(wort)-1) #Auswahl des zufaelligen Buchstabens zufBstbe=abc[rrandint(0,len(abc)-1)] if meth==0: #Einfuegen temp=wort.replace(wort[pos],wort[pos] + zufBstbe ) elif meth==1: #Entfernen if len(wort)==1: temp=wort else: temp=wort.replace(wort[pos],"") else: #Austauschen temp=wort.replace(wort[pos],zufBstbe) return temp
def zufallswort(maxL,abc): """ gibt ein Zufallswort der maximalen Laenge I:maxL aus dem Alphabet I:abc zurueck. """ L=rrandint(1,maxL) temp="" for index in range(L): temp=temp + str(abc[rrandint(0,len(abc)-1)]) return temp
def erstelleSeq(Aeins, Anull): """ Erstellt eine Sequenz der Laenge I:Aeins aus Einsen und Nullen, welche zufaellig auf die Sequenz verteilt werden. Dabei ist die Anzahl der Nullen eine zufaellige Zahl zwischen 1 und I:Anull """ if Aeins < Anull: print "!!!FALSCHE ANORDNUNG DER WORTE!!!" indexe = rsample(range(Aeins), rrandint(1, Anull)) seq = [] for i in range(Aeins): seq.append(1) for el in indexe: seq[el] = 0 return seq