Advertisement
Guest User

Untitled

a guest
Nov 17th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.23 KB | None | 0 0
  1. def es1(ftesto):
  2.     with open(ftesto) as f:
  3.         j = 0
  4.         ini = 0
  5.         cont = 0
  6.         m = int(f.readline()) #lunghezza sottostringa segreta
  7.         stringa=""
  8.         i = 0
  9.         for linea in f:
  10.             stringa+=linea.replace('\n',' ')
  11.         stringa_completa = (stringa.replace("  ",",")).replace(" ","").split(",")
  12.         print(stringa_completa)
  13.         #FINE CREAZIONE LISTA PAROLE
  14.         #INIZIO CREAZIONE DIZIONARIO CON SOTTOSTRINGHE DI LUNGHEZZA M DELLA PRIMA PAROLA DELLA LISTA
  15.         diz = {}
  16.         a=0
  17.         b=m
  18.         #andare a prendere il dizionario con minor lunghezza all'interno di stringa_completa
  19.         parola_minore = min(stringa_completa, key=len)
  20.         #while b!= ((len(stringa_completa[0]))+1):
  21.         while b!= ((len(parola_minore))+1):
  22.             diz[parola_minore[a:b]] = 0
  23.             a+=1
  24.             b+=1
  25.         print(diz)
  26.         #FINE CREAZIONE DIZIONARIO CON CHIAVE UGUALE ALLA SOTTOSTRINGA E VALORE '0' CHE POI DOVRA ANDARE A COMBACIARE CON LA LUNGHEZZA DELLA PRIMA LISTA COSì DA AVER TROVATO LA SOTTOSTRINGA SEGRETA
  27.         #INZIO AGGIORNAMENTO VALORI DIZIONARIO
  28.         for x in stringa_completa:
  29.             #print(x)
  30.             k = 0
  31.             v = m
  32.             while v != ((len(x))+1):
  33.                 for diz_key in diz.keys():
  34.                     if x[k:v] == diz_key:
  35.                         diz[diz_key] +=1
  36.                         break
  37.                 k+=1
  38.                 v+=1
  39.         print(diz)
  40.         #FINE AGGIORNAMENTO DIZIONARIO CON VALORI PER CAPIRE QUALE è LA SOTTOSTRINGA SEGRETA
  41.         #INIZIO FASE FIND SOTTOSTRINGA SEGRETA
  42.         sottostringa_segreta = ""
  43.         for diz_key in diz.keys():
  44.             if diz[diz_key] == ((len(stringa_completa))):
  45.                 sottostringa_segreta = diz_key
  46.         print(sottostringa_segreta)
  47.         #FINE FIND SOTTOSTRINGA SEGRETA
  48.         indici = []
  49.         for x in stringa_completa:
  50.             k = 0
  51.             v = m
  52.             while v != ((len(x))+1):
  53.                 if x[k:v] == sottostringa_segreta:
  54.                     indici.append(k)
  55.                     break
  56.                 else:
  57.                     k+=1
  58.                     v+=1
  59.         print(indici)
  60.         return indici
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement