Advertisement
fel486

Procurando Palavras - Searching Phrases (String.ToUp)

Apr 16th, 2015
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.29 KB | None | 0 0
  1. # FeL 486
  2.  
  3. import array
  4. import threading as t
  5. import time
  6.  
  7. class Nucleo(t.Thread): # Thread
  8.     def __init__(self):
  9.         t.Thread.__init__(self)
  10.         self.count = 0
  11.         self.done = False
  12.     def run(self):
  13.         while self.done == False:
  14.            
  15.             self.count += 1
  16.             time.sleep(1)
  17.  
  18.     def getTime(self):
  19.         return self.count
  20.  
  21.    
  22. class Tentativas(object):    
  23.     def __init__(self, frase):
  24.         self.tentativas = 0
  25.         self.frase = frase
  26.         self.length = len(frase)
  27.         self.index = [65] * self.length
  28.         self.adv = ""
  29.         self.count = 0      
  30.  
  31.        
  32.  
  33.     def stringToNumber(self, frase):
  34.         for a in range(65, 91):
  35.             if(frase == chr(a)):
  36.                 return a
  37.  
  38.     def func(self):
  39.         while True:
  40.             self.count += 1
  41.             time.sleep(1)
  42.        
  43.    
  44.     def run(self): # Método de busca
  45.         letra = self.frase[0]
  46.         self.index[0] = self.stringToNumber(letra)
  47.  
  48.         print("Procurando....\n")
  49.            
  50.         for a in range(0, pow(26, self.length)):
  51.             if self.adv == self.frase or self.index[0] > 90:                
  52.                 break
  53.             for b in range(65, 91):                
  54.                 for l in range(0, self.length):
  55.                     self.adv += chr(self.index[l])
  56.    
  57.                 self.index[self.length - 1] += 1;
  58.  
  59.                 """print("Frase: "+self.adv)"""
  60.                
  61.                 if self.adv == self.frase:
  62.                     print("achou a frase %s " % self.adv +" em %d " % N.getTime() +"segundo(s)")
  63.                     break
  64.                
  65.                 self.tentativas += 1
  66.                 self.adv = ""
  67.  
  68.             self.index[self.length - 1] = 65
  69.             self.index[self.length - 2] += 1
  70.            
  71.             for n in range(1, self.length - 1):
  72.                 if(self.index[n] >= 90):
  73.                     self.index[n-1] += 1
  74.                     self.index[n] = 65
  75.            
  76.  
  77. Frase = input("Insira a frase a ser procurada (Em Maiúsculo): ")
  78.  
  79. T = Tentativas(Frase) # Instanciando classe de procura de palavras
  80. N = Nucleo() # Instanciando Thread
  81. N.start() # Startando Thread
  82. T.run() # Executando busca da palavra
  83. N.join() # Unindo thread criado ao principal
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement