Espaço de nomes é o local da memória onde ficam os nomes que foram associados a objectos através de instruções de atribuição existentes no código. Espaço dos objectos é o local onde se encontra a descrição dos objectos, nomeadamente o seu valor e o seu tipo. A identidade é um atributo dos objectos e indica o local da memória onde este se encontra. A relação entre ambos é feita através da identidade do objecto que fica a ser conhecida do nome.
Pergunta 2
Os erros eram dois. Primeiro, a variável res não era inicializada. Em segundo, o range devia ter como argumentos 1 e len(x)+1.
Eis o programa correcto.
def inverte(x):
res = [] # <-- retira = problema
for i in range(1,len(x)+1): # <-- range(len(x)) = problema
res.append(x[-i])
return res
Olhando para as operações sobre o objecto, nomeadamente o método append temos que ter uma lista para o resultado, embora para x possa ser qualquer objecto em que a operação de indexação exista: sequências (cadeias de caracteres, tuplos, listas) e dicionários.
Pergunta 3
Esta pergunta é parecida com várias que foram feitas com as árvores genealógicas, mais concretamente a que pedia a implementação da função avo.
def caminho_2(grafo, x, y):
suc_x = grafo[x]
for vert in suc_x:
if y in grafo.get(vert):
return True
return False
Basicamente, vamos buscar a lista dos vértices adjacentes do primeiro vértice (x). Depois procuramos saber se algum deles tem como vértice adjacente o segundo (y).
That’s it!
Sem comentários:
Enviar um comentário