As questões do mini teste #1 tinham um graus de dificuldade baixo. Aqui vai um esboço de solução.
Questão 1.
As cadeias de caracteres e as listas são tipos de objectos. Identifique de forma clara e sintética as suas semelhanças e as suas diferenças.
As cadeias de caracteres e as listas são colecções ordenadas de objectos. As listas são heterogéneas e mutáveis. As cadeias de caracteres são homogéneas e imutáveis.
Questão 2.
Explique o que acontece de modo claro, sintético e rigoroso, quando executa o comando: a= 5.
Resposta:
Questão 3.
Resposta:
Questão 4.
Resposta:
O nome "a" caso não exista é criado e passa a pertencer ao espaço de nomes corrente. Este nome fica associado ao objecto 5 através da identidade deste.
Questão 3.
O programa da listagem abaixo pretende criar e devolver a cópia de uma dada lista. No entanto não funciona na esmagadora maioria dos casos, podendo mesmo dar erro na sua execução}. Identifique o tipo do erro que o sistema comunica e explique a sua razão.
1.
def
minha_copia(lista):
2.
"""
3.
Fabrica a cópia da lista "lista".
4.
"""
5.
copia
=
[]
6.
for
i
in
range(len(lista)):
7.
copia
=
copia.append(lista[i])
8.
return
copia
O método append devolve como valor o objecto "None". Assim, depois da primeira execução dentro do ciclo "copia" fica com o valor "None", pelo que na segunda iteração dá erro: na segunda pasagem o nome cópia estado associado ao objecto None, que não tem o método "append" definido. Para corrigir basta retirar a atribuição dentro do ciclo.
Questão 4.
Desenvolva um programa que dada uma lista de números devolva a soma dos seus números pares e a soma dos seus números ímpares. A listagem abaixo ilustra o que se pretende.
1.
>>> lst
=
[
1
,
4
,
7
,
9
,
3
,
2
,
8
,
5
,
6
]
2.
>>>
# ---> Aqui o seu programa de nome pares_impares.
3.
>>> pares_impares(lst)
4.
(
20
,
25
)
5.
>>>
Resposta:
01.
def
pares_impares(lista):
02.
"""
03.
Devolve o valor da soma dos números pares e o valor da soma
04.
dos números ímpares.
05.
"""
06.
pares
=
0
07.
impares
=
0
08.
for
i
in
range(len(lista)):
09.
if
lista[i]
%
2
=
=
0
:
10.
pares
=
pares
+
lista[i]
11.
else
:
12.
impares
=
impares
+
lista[i]
13.
return
pares,impares
Querido prof, ja agora, se não fosse muito incomodo, gostaria muito de ver as soluções da "segunda versão" do mini-teste...
ResponderEliminarsegunda versão? :O
ResponderEliminar