hola a tod@s
resulta que tengo un programa que me genera nombres a partir de un diccionario y lo que quiero es que no me genere palabras repetidas por lo que tengo este ciclo:
a = 0
while a < n_palabras:
e = 0
while e < n_letras:
i = 0
while i < n_palabras:
o = 0
while o < n_letras:
u = 0
while u < n_palabras:
if d_ps[a] != d_ps[i] or d_ps[a] != d_ps[u] or d_ps[i] != d_ps[u]:
clave = d_ps[a]+d_ls[e]+d_ps[i]+d_ls[o]+d_ps[u]
else:
pass
guardar(clave)
u += 1
o += 1
i += 1
e += 1
a += 1
pero me aparece este error:
UnboundLocalError: local variable 'clave' referenced before assignment
le he cambiado la parte del if por varias y no me va, he hecho esto también:
if d_ps[a] == d_ps[i] or d_ps[a] == d_ps[u] or d_ps[i] == d_ps[u]:
pass
else:
clave = d_ps[a]+d_ls[e]+d_ps[i]+d_ls[o]+d_ps[u]
y nada.
la única manera que me ha dado es esta, pero el problema es que la función guardar() guarda con \n por lo que me aparecen espacios vacíos.
if d_ps[a] == d_ps[i] or d_ps[a] == d_ps[u] or d_ps[i] == d_ps[u]:
clave = ""
else:
clave = d_ps[a]+d_ls[e]+d_ps[i]+d_ls[o]+d_ps[u]
ya vi el error, cierrenlo xD
la vaina es que la función guardar estaba fuera de los condicionales lo cual no es aceptable porque estos evalúan o aplican dicha función. xD