-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathparoliere.py
More file actions
77 lines (64 loc) · 2.3 KB
/
paroliere.py
File metadata and controls
77 lines (64 loc) · 2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import os.path
alfabeto = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
def getParoleLista(parola):
count=len(parola)
flessivocabolario = []
i=1
#f = open(os.path.dirname(__file__) + '/Paroliere.txt', 'r') #for Paroliere.txt
f = open(os.path.dirname(__file__) + '/Parole_italiane.txt', 'r') #for Parole_italiane.txt
lista = f.read().split()
l = len(lista)
while i<l:
if(len(lista[i]) == count or len(lista[i]) == count+1 or len(lista[i]) == count-1):
flessivocabolario.append(lista[i])
#i=i+2 #for Paroliere.txt
i=i+1 #for Parole_italiane.txt
return flessivocabolario
def generaflessi(parola):
l = len(parola)
flessigenerati = []
parolamod = scomponi(parola)
##SOSTITUISCI UNA LETTERA##
for j in range(l):
for i in alfabeto:
parolamod[j] = i
flessigenerati.append(componi(parolamod))
parolamod = scomponi(parola)
##AGGIUNGI UNA LETTERA##
for j in range(l+1):
for i in alfabeto:
parolamod.insert(j,i)
flessigenerati.append(componi(parolamod))
parolamod = scomponi(parola)
##SOTTRAI UNA LETTERA##
for j in range(l):
del parolamod[j]
flessigenerati.append(componi(parolamod))
parolamod = scomponi(parola)
return flessigenerati
def confronto(parola):
flessivocabolario = getParoleLista(parola)
flessigenerati = generaflessi(parola)
result = []
for i in flessivocabolario:
for j in flessigenerati:
#print(i + ' --> ' + j)
if(i == j):
result.append(i)
break
return result
def scomponi(parola):
parolascomposta = []
for i in range(len(parola)):
parolascomposta.append(parola[i])
return parolascomposta
def componi(parola):
stringa = ""
for i in range(len(parola)):
stringa = stringa + parola[i]
return stringa
if __name__ == '__main__':
parola = input("Inserire una parola: ")
print('Forse volevi scrivere una di queste parole:')
for i in confronto(parola):
print(i, end=', ')