Diga o que são objectos mutáveis e exemplifique.
Resposta: São objectos que podem ter o seu valor alterado sem alterar a sua identidade. As listas são um exemplo.
b) Analise a listagem seguinte e diga, justificando, o que vai aparecer no lugar dos pontos de interrogação.
1.
>>> x_2
=
([
1
,
2
,
3
],[
4
,
5
,
6
])
2.
>>> x_2[
0
][
1
]
=
'b'
3.
>>> x_2
4.
???
-
-
> ([
1
,
'b'
,
3
],[
4
,
5
,
6
])
5.
>>> x_2[
0
]
=
(
7
,
8
,
9
)
6.
???
-
-
> Dá erro de atribuição. Não se pode alterar, por atribuição, o valor de um tuplo
Pretendia-se obter o valor aproximado da função geo(r) igual ao somatório com i a variar de 0 até infinito de 1/(r^i). Valorizava-se a consideração da precisão.
Versão sem precisão (soma de n termos):
1.
def
geo(r,n):
2.
res
=
0
3.
for
i
in
range(n):
4.
res
+
=
1
/
pow(r,i)
5.
return
res
01.
def
geo_b(r,prec):
02.
erro
=
1
03.
res
=
0
04.
n
=
0
05.
while
erro > prec:
06.
aux
=
res
07.
res
+
=
1
/
pow(r,n)
08.
erro
=
abs(aux
-
res)
09.
n
+
=
1
10.
return
res
1.
def
geo_c(r,prec):
2.
i
=
1
3.
termo
=
res
=
1
4.
while
termo > prec:
5.
termo
=
1
/
pow(r,i)
6.
res
+
=
termo
7.
i
+
=
1
8.
return
res
Pedia-se para transformar uma imagem a preto e branco, representada por uma lista de listas de uns (preto) e zeros (branco), na sua imagem no espelho, sem destruir a imagem original. Uma pequena reflexão diz-nos que é suficiente inverter a imagem, linha a linha.
1.
def
espelho(imagem):
2.
nova_imagem
=
[]
3.
for
linha
in
imagem:
4.
nova_linha
=
linha[:]
5.
nova_linha.reverse()
6.
nova_imagem.append(nova_linha)
7.
return
nova_imagem
Sem comentários:
Enviar um comentário