a) Diga o que entende por um objecto ser homogéneo. Indique um tipo de objectos que tem esta característica.
Resposta: quando as componentes do objecto têm quer ser todas do mesmo tipo. Exemplo: cadeias de caracteres.
b) Considere a seguinte listagem. Diga, justificando, o que vai aparecer no lugar dos pontos de interrogação.
1.
>>> x_1
=
[(
1
,
2
,
3
),(
4
,
5
,
6
)]
2.
>>> x_1[
0
]
=
(
7
,
8
,
9
)
3.
>>> x_1
4.
???
-
-
> [(
7
,
8
,
9
),(
4
,
5
,
6
)]
5.
>>> x_1[
0
][
1
]
=
'b'
6.
???
-
-
> Dá erro de atribuição. Não se pode alterar, por atribuição, o valor de um tuplo
Implemente um programa que calcula o valor aproximado da função zeta(s) igual ao somatório quando n varia de 1 a infinito de 1/(n^s). Valorizava-se uma solução que controlasse o erro máximo da solução.
Sem considerar a precisão, a solução baseia-se em somar um certo número de termos:
1.
def
zeta(s,k):
2.
res
=
0
3.
for
n
in
range(
1
,k
+
1
):
4.
res
+
=
1
/
pow(n,s)
5.
return
res
01.
def
zeta(s,prec):
02.
erro
=
1
03.
res
=
0
04.
n
=
1
05.
while
erro > prec:
06.
aux
=
res
07.
res
+
=
1
/
pow(n,s)
08.
erro
=
abs(aux
-
res)
09.
n
+
=
1
10.
return
res
Dadas duas imagens a preto e branco, representadas por uma lista de listas de uns (preto) e zeros (branco), construa uma nova imagem, sem destruir as anteriores, que é preta (um) numa dada posição apenas quando as duas imagens de entrada são ambas pretas nessa posição. A solução mais básica:
01.
def
intersecta(img_1, img_2):
02.
nova_img
=
[]
03.
for
i
in
range(len(img_1)):
04.
nova_linha
=
[]
05.
for
j
in
range(len(img_1[
0
])):
06.
if
img_1[i][j]
=
=
1
and
img_2[i][j]
=
=
1
:
07.
nova_linha.append(
1
)
08.
else
:
09.
nova_linha.append(
0
)
10.
nova_img.append(nova_linha)
11.
return
nova_img
1.
def
intersecta(img_1, img_2):
2.
nova_img
=
[]
3.
for
i
in
range(len(img_1)):
4.
nova_linha
=
[]
5.
for
j
in
range(len(img_1[
0
])):
6.
nova_linha.append(img_1[i][j]
*
img_2[i][j])
7.
nova_img.append(nova_linha)
8.
return
nova_img
Sem comentários:
Enviar um comentário