Escolar Documentos
Profissional Documentos
Cultura Documentos
Exercício 1: Estica
Escreva uma função chamada estica() que recebe como um parâmetro um List Python contendo números
inteiros e modifica-o de modo que, ao final do processamento, ele contém o dobro de elementos da lista
original. Para isto, todo número inteiro na lista original é substituído por um par de inteiros, cada um metade
do número original. Se o número na lista original for ímpar, então o primeiro número no novo par deve ser
uma unidade maior do que o segundo, de modo que a soma seja igual ao número original. Por exemplo, se a
variável lista contém os valores [18, 7, 4, 24, 11], a chamada de estica(lista) deve alterar
lista para que ela contenha [9, 9, 4, 3, 2, 2, 12, 12, 6, 5] (O número 18 é esticado no par 9,
9, o número 7 no par 4, 3, o número 4 no par 2, 2, o número 24 no par 12, 12 e o número 11 é esticado em
6, 5).
O exemplo a seguir deve deixar clara sua tarefa.
def estica(intList):
# seu código aqui
pass
Observe que a função estica() não retorna uma nova lista, ao contrário, ela modifica a lista recebida no
mesmo endereço de memória da lista original.
2 cara(s) (33%)
1 cara(s) (100%)
Mais caras que coroas!
Você pode assumir que o arquivo de entrada contém pelo menos uma linha e que, cada linha, contém pelo
menos um símbolo e que nenhum símbolo diferente de h, H, t ou T estará presente nas linhas.
O seguinte trecho de código deve deixar clara sua tarefa.
def jogaMoedas(arq):
# seu código aqui
pass
arq = open('jogaMoedas.txt')
jogaMoedas(arq)
arq.close()
Exercício 3: Exceções
Observe o trecho de código a seguir:
TAM = 10
lista = []
for i in range(TAM):
lista.append(i)
def imprimeLista(lista):
try:
print 'Entrando no try'
out = open('arqSai.txt', 'w')
for i in range(len(lista)):
out.write('Valor na posição %d: %d\n' % (i, lista[i]))
except IndexError as e:
print "Erro no índice: " + e.message
except IOError as e:
print "Erro de entrada/saída: " + e.message
finally:
print 'Fechando o arquivo de saída'
out.close()
Acrescente a esse código a função leLista(lista) que lê números inteiros de um arquivo (um número
por linha), e acrescenta cada número lido ao final da lista recebida como parâmetro. Você deve capturar
todos os possíveis erros em sua função. O trecho de código a seguir deve deixar clara a sua tarefa:
leLista(lista)
'''
Suponha que o arquivo de entrada contém os números (um por linha):
78
87
9
3
59
'''
imprimeLista(lista)
'''
A saída do programa seria:
Entrando no try
Fechando o arquivo de entrada
Entrando no try
Fechando o arquivo de saída