Boas Festas!!
3.1
Parâmetros formais são os nomes dados aos argumentos das definições. Por exemplo, em:
def teste(x,y):
return x + y
x e y são os parâmetros formais. Durante a chamada (uso) de uma definição esses nomes recebem a identidade dos objectos associados aos parâmetros reais.
3.2
O módulo random foi importado de dois modos distintos. No primeiro caso, o acesso ao conteúdo do módulo, por exemplo para usar um dos seus métodos, obriga a usar o nome do módulo como prefixo, como se pode ver na linha 2. No segundo caso, é feita apenas uma imprtação selectiva, sendo apenas importados alguns elementos do módulo, no exemplo da linha 4 apenas se importa o método choice. Nesta situação usamos directamente o nome do método sem o prefixar com o nome do módulo. Nas linhas 7 a 11 a diferença entre os dois métodos aparece na forma de erro pois tentámos usar um método, randint, que não tinha sido importado directamente, sem o prefixar com o nome do módulo.
3.3
O programa cria uma matriz identidade, isto é uma matriz em que todos os elementos são zero, menos os elementos na diagonal principal que são um.
3.4
def posicoes(texto):
vogais ='aeiouAEIOU'
dic_pos = {}
for i,letra in enumerate(texto):
if letra in vogais:
dic_pos[letra] = dic_pos.get(letra,[]) + [i]
return dic_pos
3.5
def cota(fich):
f_in = open(fich,'r')
# ler cabeçalho
linha = f_in.readline()
dados = []
# percorre ficheiro linha a linha
linha = f_in.readline()
while linha != '': # EOF?
linha = linha[:-1].split(',')
dados.append(float(linha[4]) - float(linha[1]))
linha = f_in.readline()
dados.sort()
print 'Melhor: ', dados[-1]
print 'Pior: ', dados[0]
f_in.close()
Este teste era bastante acessivel , creio ter acertado em tudo a 100% excepto a dos vogais que tenho uma solução que embora (penso eu) seja funcional poderia estar bastante melhor , pois testei manualmente para cada letra tanto em lower case como em upper case .
ResponderEliminaraproveito para agradecer ao professor por este blogue que tem me sido de grande utilidade , e desejar boas festas e feliz ano novo .