Esempio n. 1
0
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)
Esempio n. 2
0
 def __init__(self):
     self.barnlista = []
     self.gamla = Bintree()
     self.svenskaordlista = svensk()
     self.dict = {}
     self.ordgang = []
     self.alfabet = "abcdefghijklmnopqrstuvwxyzåäö"
Esempio n. 3
0
 def __init__(self):
     self.barnlista = []
     self.gamla = Bintree()
     self.svenskaordlista = svensk()
     self.queue = linkedQFile.LinkedQ()
     self.ordgang = []
     self.alfabet = "abcdefghijklmnopqrstuvwxyzåäö"
Esempio n. 4
0
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
Esempio n. 5
0
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")
Esempio n. 6
0
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")
Esempio n. 7
0
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)
Esempio n. 8
0
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)