01.
def
nomes(fich, dicio):
02.
"""
03.
Usa um ficheiro para extrair nomes
04.
e um dicionário para encontrar nome completo. Ordenamento simples.
05.
""”
06.
# Ler informação
07.
ficheiro
=
open(fich)
08.
dados
=
ficheiro.readlines()
09.
ficheiro.close()
10.
# Extrair dados
11.
lista
=
[]
12.
for
elem
in
dados:
13.
pos
=
elem.find(
'~'
)
14.
nome
=
elem[pos
+
1
:
-
1
]
15.
if
nome
in
dicio:
16.
completo
=
dicio[nome][
0
]
17.
lista.append(completo)
18.
# ordenar
19.
lista.sort()
20.
return
lista
Porque a informação está logicamente organizada por linhas é assim que a devemos ler. Vamos depois iterar para cada linha na busca do nome do utilizador, o que fazemos usando o método find. Encontrada a posição o nome tem que estar a partir dessa posição até ao final, mas devemos ter o cuidado de retirar o código correspondente à mudança de linha. O teste dentro do ciclo serve apenas para garantir que só extraímos informação se ela estiver efectivamente no dicionário. Finalmente o método sort é usado para ordenar o resultado.
Bom Dia Professor, primeiro parabeniza-lo por excelente didatica no seu blog Python. O problema:
ResponderEliminarler um ficheiro books.txt e imprimir o conteudo, lembrando que o ficheiro tem um cabeçalho seguido de dados.
Ex.:
titulo,autor,edicao,ano,categoria,valor,estoque
web2py official book , Massimo Di Pierro , 3 , 2010 , Informatica , 123.50, 220
Culinaria vegetariana, Claudia Papp, 1 , 2011 , Gastronomia , 56.50 , 30
O senhor dos aneis , J.R Tolkien , 37 , 1972 , Epico , 150 , 450
O Pequeno Principe, Antoine Exuperi, 59 , 1944 , Infantil , 22.50, 89
A biblia do Java em portugues, Javaman, 1, 2011, Informatica, 225, 456
Como poderia fazer isto usando o exemplo acima.??
ovidioccg@gmail.com