def storeFormula(formel): q = LinkedQ() formel = list(formel) for tecken in formel: q.enqueue(tecken) return q
def createQueue(molekyl): """tar in en molekyl som en sträng och läger varje karaktär i en kö som retuneras""" queue = LinkedQ() for char in molekyl: queue.enqueue(char) return queue
def storeSentence(atom_name): q = LinkedQ() for char in atom_name: q.enqueue(char) return q
def storeSentance(molekyler): ''' Lagrar alla molekyler i en kö ''' q = LinkedQ() for character in molekyler: q.enqueue(character) return q
def test(): #Testfunktion för att kontrollera enqueue och dequeue q = LinkedQ() q.enqueue(1) q.enqueue(2) x = q.dequeue() y = q.dequeue() if (x == 1 and y == 2): print("Fungerar") else: print("Något är fel. 1 och 2 förväntades men vi fick", x, y)
def main(): # q = ArrayQ() q = LinkedQ() ordning = läser_input() osorterad_array = fyll_kortlek(ordning, q) visa_kortlek(q)
def main(): ''' Program som tar in en följd av molekyler och kontrollerar syntaxen ''' q = LinkedQ() molekyler = input('Skriv en följd av atomer: ') resultat = kollaSyntaxen(molekyler) print(resultat)
def main(): choice_num = str(input("Vilken ordning ligger korten i?")) str_list = choice_num.split() num_list = [int(x) for x in str_list] # Gör om alla element till integers q = LinkedQ() #Skapar en tom kö for num in num_list: #Sätter in alla värden i kön q.enqueue(num) result = [] while not q.isEmpty( ): # Här tar vi bort en och lägger den längst bak i kön, tar nästa i kön och sätter den i result listan, fortsätter tills listan är tom top_card = q.dequeue() q.enqueue(top_card) next_card = q.dequeue() result.append(next_card) print(str(result).strip('[]'))
def main(): # Skapar binärträd av ordlistan (svenska) och dumbarnen (gamla) # Frågar efter start- och slutord svenska = Bintree() # ordlistan gamla = Bintree() # dumbarnen 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: pass else: svenska.put(ordet) startord = input('Vad är startordet?\n') slutord = input('Vad är slutordet?\n') q = LinkedQ() q.enqueue(startord) gamla.put(startord) foundPath = None while not q.isEmpty(): # Gå igenom alla barn, barnbarn, ... ord = q.dequeue() if ord == slutord: foundPath = True break makechildren(ord, q, svenska, gamla) if foundPath: print('Det finns en väg från', startord, 'till', slutord) else: print('Det finns ingen väg från', startord, 'till', slutord)
def main(): atomLista = skapaAtomlista() HashadAtomtabel = lagraHashtabell(atomLista) loop = True while loop: mol = Ruta2() q = LinkedQ() molekylformeler = input("") if molekylformeler == '#': break else: for j in range(len(molekylformeler)): q.enqueue(molekylformeler[j]) mol = kollaSyntaxMolekylFormel(q, HashadAtomtabel) if isinstance(mol, Ruta2): print(weight(mol)) mg = Molgrafik() mg.show(mol) else: print(mol)
def main(): start = input("Ange startordet: ") s**t = input("Ange slutordet: ") first_parent = ParentNode(start) queue = LinkedQ() queue.enqueue(first_parent) while not queue.isEmpty(): nod = queue.dequeue() if makechildren(nod, s**t, queue) is True: print("Det finns en väg till", s**t) break elif queue.isEmpty() is True: print("Det finns ingen väg till", s**t)
def main(): string = input("skriv: ") stringList = string.split() # lägger stringnummer i en lista intList = [] try: for i in stringList: # gör om till intar och lägger i lista i = int(i) intList.append(i) except: for i in stringList: # gör om till intar och lägger i lista intList.append(i) q = LinkedQ() # skapar ett objekt for x in intList: #appendar talen till objektets array q.enqueue(x) while q.isEmpty() == False: firstToLast = q.dequeue() # poppar första talet q.enqueue(firstToLast) # lägger första talet sist i arrayn deal = q.dequeue() # printar första talet i arrayn print(deal, end=" ")
def interface(): try: startord = input("Ange startord: ") slutord = input("Ange slutord: ") q = LinkedQ() q.enqueue(startord) while not q.isEmpty(): nod = q.dequeue() makechildren(nod, slutord, q) except SolutionFound: print("Det finns en väg till", slutord) else: print("Det finns ingen väg")
def storeFormula(formel): q = LinkedQ() numlist = [] formel = list(formel) for tecken in formel: if tecken.isdigit(): numlist.append(tecken) else: if numlist: num_node = ''.join(numlist) q.enqueue(num_node) numlist = [] q.enqueue(tecken) if numlist: num_node = ''.join(numlist) q.enqueue(num_node) print('1. ' + str(numlist)) print('2. ' + (num_node)) return q
def main(): a = input('Vilken ordning ligger korten i?') b = a.split() for i in b: if int(i)>13: return print('Värdet på kortet kan ej överstiga 13.') #q = ArrayQ() q = LinkedQ() for i in b[1::2]: q.enqueue(int(i)) for i in b[0::2]: q.enqueue(int(i)) if q.isEmpty() is True: print('Du måste mata i några kort för att beskåda magin.') else: right_order = [] for i in range(len(b)): right_order.append(q.dequeue()) print('Korten kommer ut i denna ordning:') for i in right_order: print(i, end=' ')
def main(): cards = input('Vilken ordning ligger korten i?') cards = cards.split(" ") # Seperate line into a list for x in range(len(cards)): cards[x - 1] = int(cards[x - 1]) # From string to int try: queue = ArrayQ() # Create new queue-object except: queue = LinkedQ() for card in cards: queue.enqueue(card) print('Det kommer ut i denna ordning:', end=' ') while not queue.isEmpty(): move = queue.dequeue() queue.enqueue(move) print(str(queue.dequeue()), end=' ')
def main(): svenska = Bintree() gamla = Bintree() with open("word3.txt", "r", encoding="utf-8") as svenskfil: for rad in svenskfil: ordet = rad.strip() if ordet not in svenska: svenska.put(ordet) startord = input('Ange ett startord: ') parent = ParentNode(startord) slutord = input('Ange ett slutord: ') q = LinkedQ() q.enqueue(parent) try: while not q.isEmpty(): parent = q.dequeue() makechildren(parent, startord, slutord, svenska, q, gamla) print('Det finns ingen väg.') except SolutionFound: pass
def main(): svenska = Bintree() gamla = Bintree() with open("word3.txt", "r", encoding="utf-8") as svenskfil: for rad in svenskfil: ordet = rad.strip() if ordet not in svenska: svenska.put(ordet) startord = input('Ange ett startord: ') slutord = input('Ange ett slutord: ') q = LinkedQ() q.enqueue(startord) kedja = None while not q.isEmpty(): nod = q.dequeue() kedja = makechildren(nod, slutord, svenska, q, gamla) if kedja is not None: break if kedja is None: print('Det finns ingen väg') else: print('Det finns en väg från', startord, 'till', slutord)
def main(): # Skapar binärträd av ordlistan (svenska) och dumbarnen (gamla) # Frågar efter start- och slutord svenska = Bintree() # ordlistan gamla = Bintree() # dumbarnen 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: pass else: svenska.put(ordet) startord = input('Vad är startordet?\n') slutord = input('Vad är slutordet?\n') q = LinkedQ() # skapar en kö node = ParentNode(startord) # skapa en ParentNode av startord q.enqueue(node) # lägger in startordet i kön gamla.put(startord) # lägger in startordet i gamlabarn-trädet foundPath = None while not q.isEmpty(): # Gå igenom alla barn, barnbarn, ... parent = q.dequeue() if parent.word == slutord: foundPath = True break makechildren(parent, q, svenska, gamla) if foundPath: print('Det finns en väg från', startord, 'till', slutord, '\nVägen är:') parent.writechain() # parent är slutordets ParentNode else: print('Det finns ingen väg från', startord, 'till', slutord)
nod.writechain(nod) print("det finns en väg till", slutord) #raise Klar(nod) sys.exit("det finns en väg") #print("finns ingen väg") except: pass #except: #print("finns ingen väg") #except Klar as nod: #print() # måste skapa en raise för när det inte finns någon väg. def Klar(BaseException): """docstring for felmeddelnade""" pass svenska = BinTree() # skapar trädobjekt GLOBALA HAHA gamla = BinTree() #dumbarn q = LinkedQ() ## skapar kön if __name__ == '__main__': main()
print("Använd programmet så här: \n\t python3", sys.argv[0], " [startord] [slutord]") sys.exit() class ParentNode: def __init__(self, word, parent=None): self.word = word self.parent = parent startNode = ParentNode(str(sys.argv[1])) slutNode = ParentNode(str(sys.argv[2])) visited = DictHash() visited.store(startNode, startNode) queueOfNodes = LinkedQ() q = LinkedQ() queueOfNodes.enqueue(startNode) #lägger startnoden i kön while not queueOfNodes.isEmpty(): nextNode = queueOfNodes.dequeue() #plockar ut första noden ur kön if nextNode.word == slutNode.word: #om elementet är slutordet break else: makechildren(nextNode, visited, queueOfNodes) #skapa alla barn def writechain(parentNode): if parentNode == None: return writechain(parentNode.parent) print(parentNode.word)
def main(): q = LinkedQ() question(q) userlistS = cardmethod(q) print(userlistS)
from makechildren import makechildren from hashtest import DictHash from linkedQFile import LinkedQ startord = 'fan' slutord = 'gud' visited = DictHash() visited.store(startord, startord) queueOfWords = LinkedQ() q = LinkedQ() queueOfWords.enqueue(startord) #lägger startordet i kön while not queueOfWords.isEmpty(): nextWord = queueOfWords.dequeue() #plockar ut första elementet ur kön if nextWord == slutord: #om elementet är slutordet break else: makechildren(nextWord, visited, queueOfWords) #skapa alla barn print("slutord = ", slutord)
def storeInput(enkel_molekyl): q = LinkedQ() for i in enkel_molekyl: q.enqueue(i) q.enqueue(".") return q
from linkedQFile import LinkedQ from linkedQFile import Node #from arrayQFile import ArrayQ a=input("Vilken ordning_in ligger korten i?") #Lagrar input i en sträng ordning_in=LinkedQ() #Skapar objektet för inordningen a=a.split() #Gör strängen till en lista utan mellanslag for indx, i in enumerate(a): #Omvandlar varje character i listan till integer ordning_in.enqueue(int(i)) /Users/fabian/Desktop/skolskit/Tilda/Datorlabbar/d1/test.py k=len(a) svar=k*[0] for i in range(k): #ordning_in.disp() x=ordning_in.dequeue() #Plockar ut det översta kortet ordning_in.enqueue(x) x=ordning_in.dequeue() ordning_in.disp() svar[i]=int(x) print("svar = ",svar) #RÄTT ORDNING 7 1 12 2 8 3 11 4 9 5 13 6 10
new_word = "".join(start_word) if new_word in svenska: if new_word not in gamla: gamla.put(new_word) q.enqueue(new_word) # If it so happens that we find the word that is looked for, return True. if new_word == end: return True # When the whole alfabet has been checked through, add +1 to i and re-loop. if letter == 'ö': i += 1 break start_word = list(word) start = input("Start") end = input("End") q = LinkedQ() q.enqueue(start) while not q.isEmpty(): # Takes the first element in the queue and removes it. This will then be checked. nod = q.dequeue() connection = makechildren(nod, end, q) if connection: print("There was a way!") break if not connection: print("There was no way!")
from linkedQFile import LinkedQ li = [7, 1, 12, 2, 8, 3, 11, 4, 9, 5, 13, 6, 10] q = LinkedQ() for number in li: q.enqueue(number) D1list = [] while q.isEmpty() == False: x = q.dequeue() q.enqueue(x) y = q.dequeue() D1list.append(y) print("I rätt ordning: ", D1list)
from BintreeFilen import Bintree from linkedQFile import LinkedQ q = LinkedQ() svenska = Bintree() gamla = Bintree() class SolutionFound(Exception): pass def readfile(): with open("word3.txt", "r", encoding="utf-8") as svenskfil: for rad in svenskfil: ordet = rad.strip() if svenska.__contains__(ordet): gamla.put(ordet) else: svenska.put(ordet) class ParentNode: def __init__(self, word, parent=None): self.word = word self.parent = parent def makeChildren(startord): alfabet = 'abcdefghijklmnoprstuvwxyzåäö' for letter in range(len(startord)):
from linkedQFile import LinkedQ from bintreeFile import Bintree class ParentNode: """ Klass som skapar en länkad lista där barnen pekar på sin förälder """ def __init__(self, word, parent=None): self.word = word self.parent = parent def writechain(self): if self.parent: self.parent.writechain() # kalla på writechain med sin parent print(self.word) if __name__ == '__main__': startord = input('Vad är startordet?\n') print('Hej') q = LinkedQ() # skapar en kö gamla = Bintree() # dumbarnen node = ParentNode(startord) # skapa en ParentNode av startord q.enqueue(node) # lägger in startordet i kön gamla.put(startord) # lägger in startordet i gamlabarn-trädet
for i in range(5): arrayQ.enqueue(int(input("Ange vilket kort som väljs härnsäst: ")) ) #Kortet stoppas längst bak i listan def test(): #Testfunktion för att kontrollera enqueue och dequeue q = LinkedQ() q.enqueue(1) q.enqueue(2) x = q.dequeue() y = q.dequeue() if (x == 1 and y == 2): print("Fungerar") else: print("Något är fel. 1 och 2 förväntades men vi fick", x, y) if __name__ == '__main__': test() arrayQ = LinkedQ() #en array skapas start_kort(arrayQ) #anrpoar funktionen start_kort i = 0 while not arrayQ.isEmpty(): i += 1 kortet = arrayQ.dequeue() #raden anropar kortet längst bak i listan if i % 2 != 0: #När i är delbart med 2 (varranan gång) körs följande #print("nu placeras ett kort längst bak") arrayQ.enqueue(kortet) #Enqueue körs else: print("kort", kortet, "placeras på bordet")