I need to change a dictionary when it is equal to a text I don't know how to do it. There are two dictionaries that store dictionaries.
conceptos_de_mi={}
sobre_ti={}
are composed in this way: {'I': {'I am': {'Lola': {}}}}
There is a name.
tunombre="Carlos"
The text is sent to the function and the dictionary is created
aprender("Yo soy Lola")
This code receives the text that creates dictionaries within a dictionary.
def aprender(oraciones):
#enviar_palabras=oraciones
recordar_pal = sobre_ti
for palabra in oraciones.split(): #dividir palabras para rellenar diccionarios
if palabra not in recordar_pal: #si la primera palabra no esta en el diccionario principal
recordar_pal[palabra] = {} #añadir palabra
recordar_pal = recordar_pal[palabra] #guardar posicion dentro del subdicionario
return aprender_conceptos_mi(oraciones) #llamar funcion intercambio
Then it sends the text to this other function that is supposed to change a specific dictionary named Lola for Carlos but it doesn't, (change a specific dictionary not all) I have already tried in many ways and I can't get it.
def aprender_conceptos_mi(enviar_palabras):
recordar_pals=conceptos_de_mi
sunombres=tunombre
#recordar_sobre_ti=sobre_ti
for palabra in enviar_palabras.split():
if palabra not in recordar_pals:
recordar_pals[palabra] = {}
if palabra == sunombres:
recordar_pals[palabra] = recordar_pals[sunombres]
else:
pass
recordar_pals = recordar_pals[palabra]
Creating another function example failed.
tunombre="Lola"
sunombre="Carlos"
def aprender(oraciones):
sobre_ti_dic = sobre_ti
tunombres=tunombre
sunombres=sunombre
recordar_pal = sobre_ti
recordar_pals = conceptos_de_mi
for palabra in oraciones.split(): #dividir palabras para rellenar diccionarios
if palabra not in recordar_pal: #si la primera palabra no esta en el diccionario principal
recordar_pal[palabra] = {} #añadir palabra
#guardar posicion dentro del subdicionario
if palabra not in sobre_ti_dic:
sobre_ti_dic[palabra] = {}
if tunombres in sobre_ti_dic[tunombres]:
recordar_pals[palabra] = sobre_ti_dic[sunombres]
print("Cambiando nombre")
else:
print("Palabra no esta en sobre ti")
sobre_ti_dic = sobre_ti_dic[palabra]
recordar_pal = recordar_pal[palabra]
return
The default dictionary is
{'yo': {'soy': {'Lola':{} }}
}
The output dictionary
{'yo': {'soy': {'Carlos':{} }}
}