Advertisement
Benkex

Keresztrejtveny Gyorsabb

Sep 18th, 2019
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.57 KB | None | 0 0
  1. from itertools import permutations, product
  2. from time import sleep
  3. pms=permutations
  4.  
  5. osszbetu=[]
  6. def betuszerintbont(arr):
  7.     global osszbetu
  8.     new=[]
  9.     ind=0
  10.     for i in range(len(arr)):
  11.         if i==0:
  12.             new.append([arr[i]])
  13.             osszbetu.append(arr[i][0])
  14.             continue
  15.         if arr[i][0]==arr[i-1][0]:
  16.             new[ind].append(arr[i])
  17.         else:
  18.             new.append([arr[i]])
  19.             osszbetu.append(arr[i][0])
  20.             ind+=1
  21.     return new
  22.  
  23. f=open('Sort_lemma.txt', 'r', encoding='latin-1')
  24. print('Filet megnyitottam')
  25. kivalogat=[szo.split()[0].lower() for szo in f if len(szo.split())!=0]
  26. print('Kivalogattam')
  27. kivalogat.sort()
  28. szotar=betuszerintbont(kivalogat)
  29. print('Betu szerint bontottam')
  30. f.close()
  31.  
  32. print (osszbetu)
  33.  
  34. words=[]
  35. for i in range(4):
  36.     word=input('Köv. szó: ')
  37.     words.append(word)
  38.  
  39. def getwords(w, n, a):
  40.     global s
  41.     for i in range(len(w[n])):
  42.         if n==len(w)-1:
  43.             szo=''
  44.             szo=szo.join([w[k][a[k]] for k in range(len(w))])
  45.             s.append(szo)
  46.         else:
  47.             getwords(w, n+1, a)
  48.         if a[n]<len(w[n])-1:
  49.             a[n]+=1
  50.         else:
  51.             a[n]=0
  52.     if n==0: return s
  53.  
  54. perm=pms([i for i in range(len(words))])
  55. zs=0
  56. osszes=[]
  57. for p in perm:
  58.     print ('Perm '+str(zs))
  59.     zs+=1
  60.     wds=[words[k] for k in p]
  61.     index=[0 for w in words]
  62.     s=[]
  63.     getwords(wds, 0, index)
  64.     print('Szavak legenerálva')
  65.     for ell in s:
  66.         kiv=0
  67.         for i in range(len(osszbetu)):
  68.             if ell[0]==osszbetu[i]:
  69.                 kiv=i
  70.         if ell in szotar[kiv] and not ell in osszes:
  71.             osszes.append(ell)
  72.            
  73. print ('Kigyujtve')
  74.            
  75. f=open('kigyujtott.txt', 'w')
  76. for o in osszes:
  77.     f.write(str(o)+'\n')
  78. f.close()
  79.  
  80. print ('Elmentve')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement