Uma solução simples para o problema é o que apresentamos a seguir:
def bd_consistente(bd):
lista_dados_docentes = list(bd.values())
lista_chaves = []
for elem in lista_dados_docentes:
chaves = list(elem.keys())
chaves.sort()
lista_chaves.append(chaves)
for i in range(len(lista_chaves)-1):
if lista_chaves[i] != lista_chaves[i+1]:
return False
return True
if __name__ == '__main__':
base_dados = {'ecosta':{'nome':'Ernesto','apelido':'Costa'},'lpato':{'nome':'Luís','apelido':'Pato', 'título':'Auxiliar'}, 'aneves':{'nome':'Artur','apelido':'Neves'}}
print(bd_consistente(base_dados))
Come se pode ver, começamos por guardar em lista_dados_docentes a lista dos dicionários associados a cada docente. De seguida, construímos uma nova lista (lista_chaves) onde guardamos as chaves ordenadas de cada docente. Finalmente, no segundo ciclo, comparamos as chaves ordenadas, terminando mal exista uma caso de diferença.
