class Bfs(): def __init__(self): self.barnlista = [] self.gamla = Bintree() self.svenskaordlista = svensk() self.dict = {} self.ordgang = [] self.alfabet = "abcdefghijklmnopqrstuvwxyzåäö" def breddFirstSearch(self): self.startord = input("Startord: ") #self.slutord = input("Slutord: ") self.makeChildren() def makeChildren(self, ordet=None): if ordet == None: ordet = self.startord #if ordet == self.slutord: # self.ordgang.append(ordet) # self.k = self.dict[ordet] # exit() if ordet in self.svenskaordlista: if ordet not in self.gamla: self.gamla.put(ordet) for i in range(3): for j in range(len(self.alfabet)): nyord = list(copy.deepcopy(ordet)) nyord[i] = self.alfabet[j] nyord = "".join(nyord) if nyord in self.svenskaordlista: if nyord not in self.gamla: #self.dict[nyord] = ordet print(nyord)
def __init__(self): self.barnlista = [] self.gamla = Bintree() self.svenskaordlista = svensk() self.dict = {} self.ordgang = [] self.alfabet = "abcdefghijklmnopqrstuvwxyzåäö"
def __init__(self): self.barnlista = [] self.gamla = Bintree() self.svenskaordlista = svensk() self.queue = linkedQFile.LinkedQ() self.ordgang = [] self.alfabet = "abcdefghijklmnopqrstuvwxyzåäö"
def svensk(): svenska = Bintree() with open("word3.txt", "r", encoding="utf-8") as svenskfil: for rad in svenskfil: ordet = rad.strip() # Ett trebokstavsord per rad if ordet not in svenska: svenska.put(ordet) # in i sökträdet return svenska
def main(): svenska = Bintree() with open("word3.txt", "r", encoding = "utf-8") as svenskfil: for rad in svenskfil: ordet = rad.strip() # Ett trebokstavsord per rad if ordet in svenska: print(ordet, end = " ") else: svenska.put(ordet) # in i sökträdet print("\n")
def engelsk(svenska): engelska = Bintree() with open("engelska.txt", "r", encoding="utf-8") as engelskfil: for rad in engelskfil: ordet = rad.split() # Ett trebokstavsord per rad for word in ordet: if word in engelska: pass else: if word in svenska: print(word, end=" ") engelska.put(word) # in i sökträdet print("\n")
class Bfs(): def __init__(self): self.barnlista = [] self.gamla = Bintree() self.svenskaordlista = svensk() self.queue = linkedQFile.LinkedQ() self.ordgang = [] self.alfabet = "abcdefghijklmnopqrstuvwxyzåäö" def breddFirstSearch(self): self.startord = input("Startord: ") while self.startord not in self.svenskaordlista: self.startord = input( "Startordet finns ej i ordbok, försök igen: ") self.slutord = input("Slutord: ") while self.slutord not in self.svenskaordlista: self.slutord = input("Slutordet finns ej i ordbok, försök igen: ") self.queue.enqueue(ParentNode(self.startord)) while self.queue.isEmpty != True: nod = self.queue.dequeue() self.makeChildren(nod) print("Det finns inte en väg!") def writeChain(self, nod): if nod != None: self.writeChain(nod.parent) print(nod.word, sep=" ", end=" ") def makeChildren(self, nod): if nod.word == self.slutord: self.writeChain(nod) print("") exit() if nod.word in self.svenskaordlista: if nod.word not in self.gamla: self.gamla.put(nod.word) for i in range(3): for j in range(len(self.alfabet)): nyord = list(copy.deepcopy(nod.word)) nyord[i] = self.alfabet[j] nyord = "".join(nyord) if nyord in self.svenskaordlista: if nyord not in self.gamla: nynod = ParentNode(nyord, nod) self.queue.enqueue(nynod)
class Bfs(): def __init__(self): self.barnlista = [] self.gamla = Bintree() self.svenskaordlista = svensk() self.dict = {} self.queue = linkedQFile.LinkedQ() self.ordgang = [] self.alfabet = "abcdefghijklmnopqrstuvwxyzåäö" def breddFirstSearch(self): self.startord = input("Startord: ") while self.startord not in self.svenskaordlista: self.startord = input( "Startordet finns ej i ordbok, försök igen: ") self.slutord = input("Slutord: ") while self.slutord not in self.svenskaordlista: self.slutord = input("Slutordet finns ej i ordbok, försök igen: ") self.queue.enqueue(self.startord) while self.queue.isEmpty != True: nod = self.queue.dequeue() self.makeChildren(nod) print("det finns inte en väg!") def makeChildren(self, ordet): if ordet == self.slutord: print("Det finns en väg till " + str(self.slutord)) exit() if ordet in self.svenskaordlista: if ordet not in self.gamla: self.gamla.put(ordet) for i in range(3): for j in range(len(self.alfabet)): nyord = list(copy.deepcopy(ordet)) nyord[i] = self.alfabet[j] nyord = "".join(nyord) if nyord in self.svenskaordlista: if nyord not in self.gamla: self.queue.enqueue(nyord)