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.
1.
def
inverte(x):
2.
res
=
[]
# <-- retira = problema
3.
for
i
in
range(
1
,len(x)
+
1
):
# <-- range(len(x)) = problema
4.
res.append(x[
-
i])
5.
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.
1.
def
caminho_2(grafo, x, y):
2.
suc_x
=
grafo[x]
3.
for
vert
in
suc_x:
4.
if
y
in
grafo.get(vert):
5.
return
True
6.
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