Programação Python
Programação Python
Versão 1.40
06-07-2017
Bibliografia recomendada:
1
Sumário
DropBox:
https://www.dropbox.com/sh/kea9kr4j2qttnjg/AAAGkXES6sWvRKCJh8R7x9aia/ListaCava?dl=0
2
1. Linguagem de Programação Python
Windows: Iniciar ... Programas ... Python 3.? (versão) ... IDLE
3
Operações mais complexas: >>> a = 3 <enter>
>>> b = 4 <enter>
>>> c = a + b <enter>
>>> print(a, b, c) <enter>
3 4 7
>>> print(“c = “, c) <enter>
c = 7
>>> print(3>4) <enter>
False # valor lógico
>>>
5. Identificadores e variáveis
Comentário do programador:
”””
comentário em mais de uma linha
Não é interpretado
”””
’’’
comentário em mais de uma linha
Não é interpretado
’’’
# -------------------------- Type.py
a = 3
print(type(a))
4
b = 3.4
print(type(b))
c = 'Python'
print(type(c))
d = 'A'
print(type(d))
Resultado do Programa:
6. Operadores aritméticos
5
Tabela 2: Hierarquia dos Operadores Aritméticos
Ordem de Tipo de Operador
precedência
Parênteses ()
** Potenciação
- (unário) Unário
Multiplicação, divisão, modulo (resto inteiro da
* / % //
divisão) e divisão inteira
+ - Adição e subtração
Exemplos:
Exemplos:
6
>>> a = 3
>>> b = 4
>>> print("a = ", a, "b = ", b)
a = 3 b = 4
>>> dia = 3 <enter>
>>> mês = 7 <enter>
>>> ano = 2017 <enter>
>>> print(“Data: %02d/%02d/%d” %(dia, mês, ano)) <enter>
03/07/2017 # saída formatada
>>>
Tabela 3: Operadores %
Operador % Significado
%s Uma string
%c Caractere
%d Decimal inteiro
%f Real (float)
%% Um '%'
data = datetime.now()
print(data)
print("Data: %02d/%02d/%d" %(data.day, data.month, data.year))
print("Tempo: %02d:%02d:%02d" %(data.hour, data.minute, data.second))
Exemplos:
7
>>> print(len(s)) # número de caracteres da string
8
>>>
Entrada de um Inteiro:
Exemplo:
>>> a = 3 <enter>
>>> print(a) <enter>
3
>>> del a
>>> print(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
8
10. Módulos (import)
Para importar apenas uma função desejada: from módulo import função
>>> print(math.modf(5.34))
(0.33999999999999986, 5.0)
>>>
>>> print(math.exp(1))
2.718281828459045
>>> print(math.exp(2))
7.38905609893065
9
>>> print(math.exp(3))
20.085536923187668
>>>
>>> print(math.log(2,10))
0.30102999566398114
>>> print(math.log(3,10))
0.47712125471966244
>>>
>>> print(math.log1p(1))
0.6931471805599453
>>> print(math.log1p(2))
1.0986122886681098
>>>
>>> x = 16
>>> print(math.sqrt(x))
4.0
>>> x = -16 # x deve ser positivo
>>> print(math.sqrt(x))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: math domain error
>>>
>>> x = math.sin(45)
>>> print(x)
0.8509035245341184
>>> x = math.sin(math.radians(45))
>>> print(x)
0.7071067811865475
>>>
>>> x = math.cos(45)
>>> print(x)
10
0.5253219888177297
>>> x = math.cos(math.radians(45)) # converte 45 para radianos
>>> print(x)
0.7071067811865476
ou
11
12.1 Funções para Strings
# ------------------------------------------- Split.py
Resultado do Programa:
# -------------------------------- String.py
# -------------------------------------------- len
s = 'Paulo Roberto Gomes Luzzardi'
n = len(s) # retorna o total de caracteres da string
print("Número de Caracteres: ", n)
# -------------------------------------------- count
caracter = 'a'
letras = s.count(caracter) # retorna o número de vezes que o caracter
aparece na string
print('Número de letras "%c" é %d' %(caracter,letras))
# -------------------------------------------- replace
s = s.replace('Roberto', 'R.') # troca parte da string
s = s.replace("Gomes", "G.")
print(s)
# -------------------------------------------- find
pos = s.find('z') # procura a primeira aparição de uma letra
print(pos)
# -------------------------------------------- title
s = "paulo roberto gomes luzzardi"
print(s.title())
12
# -------------------------------------------- swapcase
s = 'Paulo Roberto Gomes Luzzardi'
print(s.swapcase()) # inverte as letras maiúsculas e minúsculas
# -------------------------------------------- isalpha
print('Contém apenas letras: ', s.isalpha()) # verifica se contém
apenas letras
s = 'FatecSenac'
print('Contém apenas letras: ', s.isalpha())
# --------------------------------------------- isdigit
print('Contém apenas números: ', s.isdigit())
s = '123456'
print('Contém apenas números: ', s.isdigit())
Resultado do Programa:
Comandos de Sequência:
# --------------------- Circulo.py
import math
13
Resultado do Programa:
# ----------------------------------- Temperatura.py
f = 120
c = (f - 32) * 5 / 9
print("Celsius: %d" %c, sep='', end='') # imprime mesma linha
print(" - Fahrenheit: ", f)
Resultado do Programa:
== RESTART: /Users/pluzzardi/Desktop/Python/Python/Temperatura.py ==
Celsius: 48 - Fahrenheit: 120
>>>
# ---------------------------------- Random.py
import random
n = 10
print("Faixa de Sorteio: 0 ... %d" %(n-1))
numero = int (random.random() * n)
print("Número Sorteado: ", numero)
# A função random gera um número float aleatório entre 0.0 e 1.0
Resultado do Programa:
# ----------------------------- Aleatorio.py
import random
for i in range(6):
n = random.randint(1, 10)
print("n = ", n)
Resultado do Programa:
14
via teclado: cateto adjacente (b) e cateto oposto (a)
e calcula o valor da hipotenusa dado pela seguinte
fórmula:
Teste do Programa:
n1 + n2 x 2 + n3 x 3 + n4
Média = ---------------------------
7
Teste do Programa:
15
quilo. O programa deve calcular e imprimir na tela o
total a pagar, o valor pago ao ICMS (17%) e o lucro
líquido do açougue.
Teste do Programa:
Teste do Programa:
16
g) Escreva um programa em Python que lê via teclado as
dimensões de uma cozinha retangular (comprimento,
largura e altura), calcular e escrever a quantidade de
caixas de azulejos para se colocar em todas as suas
paredes (considere que não será descontado a área
ocupada por portas e janelas). Cada caixa de azulejos
possui 1,5 m2.
Teste do Programa:
Teste do Programa:
Teste do Programa:
a = 1 <enter>
b = 2 <enter>
c = -3 <enter>
x1 = 1
x2 = -3
17
14. Operadores relacionais
ou
if condição: # simples
18
comando
ou
if condição: # composto
comando1
else:
comando2
ou
if condição1:
comando1
elif condição2:
comando2
else:
comando3
# -------------------------------------- If.py
Resultado do Programa:
# ---------------------------------------- Par.py
19
Resultado do Programa:
# ------------------------- Bhaskara.py
import math
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))
delta = b**2 - 4 * a * c
if delta >= 0:
x1 = (-b + math.sqrt(delta)) / 2*a
x2 = (-b - math.sqrt(delta)) / 2*a
print("x1 = ", x1)
print("x2 = ", x2)
else:
print("Erro: Raizes complexas")
Resultado do Programa:
# ---------------------------------------- Elif.py
Nota 1: 6 <enter>
20
Nota 2: 8 <enter>
Média: 7.0
PARABÉNS! Você foi aprovado
Valor: 3 <enter>
Valor: 4 <enter>
Maior: 4
Menor: 3
Média: 3.5
Maças: 20 <enter>
Valor da Compra: R$ 5.00
ou
Maças: 12 <enter>
Valor da Compra: R$ 3.00
21
Peso Ideal: 57.765
Sintaxe: x = x + 1 # x ß x + 1
i = 1
while i <= 10:
print("i = ", i)
i = i + 1
Resultado do Programa:
22
i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9
i = 10
>>>
# -------------------- In2.py
import random
s = 's'
while s in ['S', 's']: # operador in
num = random.randint(1, 10)
print("Número sorteado: ", num)
s = input("Continua [S/N]")
Resultado do Programa:
Comando for:
# --------------------------------- For.py
23
====== RESTART: /Users/pluzzardi/Desktop/Python/Python/For.py =====
0
1
2
3
4
5
>>>
# ----------------------------------- ForDuplo.py
for i in range(3):
for j in range(4):
print(i, j)
# ----------------------------------- ForDuplo2.py
for i in range(3):
for j in range(4):
print(i+1, j+1)
24
Sintaxe: range(start, stop, step)
Exemplos:
for i in range(10): # 0 1 2 3 4 5 6 7 8 9
print(i)
Número: 6 <enter>
PAR
Número: 7 <enter>
IMPAR
Número: 0 <enter>
PAR
>>>
Número: 6 <enter>
POSITIVO
Continua [S/N]? s
Número: -7 <enter>
NEGATIVO
Continua [S/N]? S
Número: 0 <enter>
ZERO
25
Continua [S/N]? N
>>>
Teste do Programa:
Exemplo: Lista1.py
# ------------------------------- Lista1.py
26
Resultado do Programa:
Exemplo: Lista2.py
# ------------------------------- Lista2.py
Resultado do Programa:
Exemplo: Lista3.py
# ------------------------------ Lista3.py
Resultado do Programa:
27
Número de Elementos: 3
>>>
Exemplo: Lista4.py
# -------------------------------- Lista4.py
nome = []
nota = []
soma = 0.0
numeroAlunos = 4
for i in range(numeroAlunos):
nome.append(input("Nome do Aluno: "))
nota.append(float(input("Nota do " + nome[i] + ": ")))
soma = soma + nota[i]
media = soma / numeroAlunos
print("Média da Turma:", media)
Resultado do Programa:
print("Lista Ordenada")
for i in sorted(lista):
print(i)
lista = list(range(10))
for i in lista:
lista[i] = i + 5
print(lista[i])
print(lista)
28
Resultado do Programa:
lista.append(elemento)
lista.remove(elemento)
lista.clear()
29
Insere o elemento antes do índice: insert
lista.insert(índice, elemento)
ultimo = lista.pop()
lista.reverse()
temp = lista.copy()
n = len(lista)
vezes = lista.count(elemento)
posição = lista.index(elemento)
# --------------------------------------- Lista.py
# insert(posição, valor)
lista.insert(1, 15) # insere o elemento antes da posição
print(lista)
30
lista.reverse() # inverte a lista (ordem dos elementos)
print(lista)
temp = lista.copy()
print("Lista Nova: ", temp)
Teste do programa:
import random
# ---------------------------- repetido
def repetido(num, n, t):
for i in range(n):
if num[i] == t:
return(True)
return(False)
# ---------------------------- imprime
def imprime(num):
for i in range(len(num)):
t = num[i]
print("%2d " %t, sep='', end='')
print()
ch = 's'
while ch in ['S', 's']:
palpites = int(input("Número de palpites: "))
for i in range(palpites):
num = []
n = 1
num.append(random.randint(1, 60))
while n != 6:
t = random.randint(1, 60)
if not(repetido(num, n, t)):
num.append(t)
n = n + 1
num.sort() # ordena a lista
imprime(num)
ch = input("Continua [s/n]?")
Resultado do Programa:
31
3 9 14 17 26 40
2 7 10 12 28 54
9 13 16 30 36 39
2 26 29 43 47 54
5 12 23 31 37 55
Continua [s/n]?s
Número de palpites: 6
9 11 23 26 33 34
8 28 31 40 43 50
9 17 22 24 28 47
22 31 33 36 39 45
16 27 39 40 43 46
15 31 36 42 48 60
Continua [s/n]?n
>>>
Teste do programa:
Letra: L <enter>
Letra: I <enter>
Letra: M <enter>
Letra: A <enter>
Letra: <enter>
[‘L’, ‘I’, ‘M’, ‘A’]
[‘A’, ‘M’, ‘I’, ‘L’]
Teste do programa:
32
Idade para consulta: 50 <enter>
Antes: 3
Depois: 2
Continua [S/N]? n <enter>
Exemplo:
Número: 50 <enter>
Número: 30 <enter>
Número: 20 <enter>
Número: 10 <enter>
Número: 40 <enter>
Número: 0 <enter>
Valor: 20 <enter>
Posição no vetor: 2
Valor: 40 <enter>
Posição no vetor: 4
Valor: 60 <enter>
ERRO: Número não encontrado
Valor: 0 <enter>
Teste do programa:
Conceito: B <enter>
Conceito: A <enter>
Conceito: E <enter>
Conceito: B <enter>
Conceito: D <enter>
Conceito: C <enter>
Conceito: A <enter>
Conceito: E <enter>
Conceito: f <enter>
5 Aprovado(s)
1 Reprovado(s)
2 Infrequente (s)
33
e) Escreva um programa em Python que recebe via teclado
“n” nomes. A entrada dos nomes termina quando o
usuário digitar apenas <enter>. Logo após a entrada de
todos os nomes o programa deve permitir a entrada via
teclado de uma letra. O programa deve imprimir na tela
todos os nomes que começam com a letra especificada
pelo usuário. O programa termina quanto o usuário
digitar “” (nada) na entrada da letra (conforme
exemplos abaixo):
Teste do programa:
Teste do programa:
34
20. Questões de prova
Teste do programa:
Teste do programa:
35
Lista: [‘Ana’, ‘Beatriz’, ‘Carla’, ‘Debora’, ‘Eva’]
Teste do programa:
Teste do programa:
Teste do programa:
Valor: 10 <enter>
Valor: 20 <enter>
Valor: 30 <enter>
Valor: 40 <enter>
Valor: 50 <enter>
Valor: 0 <enter>
Lista: [10, 20, 30, 40, 50]
Valor a consultar: 30 <enter>
Antecessor: 20
Sucessor: 40
Valor a consultar: 10 <enter>
Antecessor não existe
Sucessor: 20
Valor a consultar: 60 <enter>
36
Antecessor não existe
Erro: Elemento não encontrado
Sucessor não existe
Valor a consultar: 0 <enter>
[Entrada]
R: 4 12 34 25 17 (gabarito)
A: 3 17 55 21 34 4 27 29 20 11 (aposta)
[Saída]
3 (pontos)
37
10. Escreva um programa em Python que lê via teclado, um
número inteiro qualquer (positivo ou negativo). O programa
deve calcular e imprimir na tela: (a) inverso; (b)
quadrado; (c) raiz quadrada e (d) cubo deste número.
Teste do programa:
Número: 4 <enter>
Inverso: 0.25
Quadrado: 16
Raiz Quadrada: 2
Cubo: 64
a = 1 <enter> a = 1 <enter>
b = -4 <enter> b = 2 <enter>
c = 2 <enter> c = 3 <enter>
delta = b2 – 4ac
+------
-b +- \/ delta
Raízes Reais: x1,2 = ------------------ “delta maior ou igual a zero”
2.a
+---------
-b \/ | delta |
Raízes Complexas: x1,2 = ----- +- ------------- i “delta menor que zero”
2.a 2.a
Teste do programa:
[Entrada]
38
1.80 (altura) 1 (masculino)
1.60 (altura) 2 (feminino)
1.62 (altura) 1 (masculino)
1.70 (altura) 2 (feminino)
1.72 (altura) 1 (masculino)
1.80 (altura) 2 (feminino)
1.92 (altura) 1 (masculino)
1.40 (altura) 1 (masculino)
1.42 (altura) 1 (masculino)
1.64 (altura) 1 (masculino)
[Saída]
1.92 (maior altura da turma)
1.40 (menor altura da turma)
1.70 (média de altura das mulheres
1.65 (média de altura dos homens
7 Homens
3 Mulheres
Teste do programa:
Teste do programa:
Valor: 10 <enter>
Quantidade: 3 <enter>
Valor: 20 <enter>
39
Quantidade: 4 <enter>
Valor: 30 <enter>
Quantidade: 2 <enter>
Valor: 0 <enter>
Lista: [10, 3, 20, 4, 30, 2]
Lista por Extenso: [10, 10, 10, 20, 20, 20, 20, 30, 30]
Total de valores por extenso: 9
# --------------------------------- Teste.py
a, b = 10, 20
print(a, b)
x = 10
y = 20
print("x = %d - y = %d\n" %(x, y)) # print formatado
print(maior(3,4))
# ============================== if simples
40
elif numero < 0:
print("Negativo")
else:
print("Zero")
data = datetime.now()
print(data)
print("Data: %02d/%02d/%d" %(data.day, data.month, data.year))
print("Tempo: %02d:%02d:%02d" %(data.hour, data.minute, data.second))
Resultado do Programa:
10 20
5
x = 10 - y = 20
4
Digite um Número: -5
Valor Negativo
Número Digitado: -5
p
y
t
h
o
n
Digite um Número: 0
Zero
2017-03-08 14:47:17.866354
Data: 08/03/2017
Tempo: 15:01:59
>>>
# ----------------------------------- str.py
s = ""
for i in range(10):
s = s + str(i) + ", " # forma uma string com números
print(s)
Resultado do Programa:
41
pode ou não receber argumentos (parâmetros) e retornar ou
não um valor.
chamada_função(argumentos)
Exemplo:
# -------------------------------- Funcoes.py
import math
Resultado do Programa:
42
# ------------------------------------------ Fatorial.py
# Exemplo de função recursiva, função que chama a si própria
# É complexo o ponto de parada
# ------------------------------------------------------
def Fatorial(n):
if n <= 1:
return(1)
fat = n * Fatorial(n-1)
return(fat)
Resultado do Programa:
# ---------------------------------------------------------- Float.py
# O programa testa a conversão de string para float ou inteiro
# sem erro na entreda de dados com input
# -------------------------------------------------------------------
def REAL(s):
n = len(s)
temLetras = False
for i in range(n):
if s[i] == ',':
s = s.replace(',','.') # trocar vírgula por ponto
if s[i] == '-' and i != 0: # verifica o sinal negativo
temLetras = True;
break
if s[i] not in ['.', ',', '-', '0', '1', '2', '3', '4', '5',
'6', '7', '8','9']:
temLetras = True
break
if not temLetras:
numero = float(s)
return(numero)
else:
print("ERRO: Conversão Inválida")
return(-1)
def INTEIRO(s):
n = len(s)
temLetras = False
for i in range(n):
if s[i] == '-' and i != 0:
temLetras = True;
break
if s[i] not in ['-', '0', '1', '2', '3', '4', '5', '6', '7',
'8','9']:
temLetras = True
break
if not temLetras:
numero = int(s)
43
return(numero)
else:
print("ERRO: Conversão Inválida")
return(-1)
Resultado do Programa:
def REAL(s):
n = len(s)
temLetras = False
for i in range(n):
if s[i] == ',':
s = s.replace(',', '.') # converte vírgula em ponto
if s[i] == '-' and i != 0: # verifica sinal negativo
temLetras = True;
break
44
if s[i] not in ['.', '-', '0', '1', '2', '3', '4', '5', '6',
'7', '8','9']: # verifica caracteres não numéricos
temLetras = True
break
if not temLetras:
numero = float(s)
return(numero)
else:
print("ERRO: Conversão Inválida")
return(-1) # retorna um valor inválido
def INTEIRO(s):
n = len(s)
temLetras = False
for i in range(n):
if s[i] == '-' and i != 0:
temLetras = True;
break
if s[i] not in ['-', '0', '1', '2', '3', '4', '5', '6', '7',
'8','9']:
temLetras = True
break
if not temLetras:
numero = int(s)
return(numero)
else:
print("ERRO: Conversão Inválida")
return(-1)
# ---------------------------------------- Modulo.py
45
24. Tratamento de erros (exceções)
import math
try:
num = int(input("Digite um Número: "))
try:
raiz = math.sqrt(num)
print("Raiz Quadrada: ", raiz)
except ValueError as error:
print("Erro: ", error)
except ValueError as error:
46
print("Erro: ", error)
Teste do Programa:
try:
comando
comando
except erro:
comando
comando
try:
x = float(input("Digite um Valor: "))
y = float(input("Digite outro Valor: "))
try:
divisão = x / y
print("Divisão é: ", divisão)
except ZeroDivisionError as error:
print("Erro: ", error)
except ValueError as error:
print('Erro: ', error)
Teste do Programa:
47
Digite um Valor: 4
Digite outro Valor: 0
Erro: float division by zero
>>>
try:
num = int(input("Valor: "))
print("Soma: ", soma + num) # soma não está definido
except NameError as error: # erro por nome
print("ERRO: ", error)
try:
a = 5
soma = 'a' + a # tipos diferentes
print("Soma: ", soma)
except TypeError as error: # erro por tipo
print("ERRO: ", error)
Teste do Programa:
Teste do Programa:
48
try:
file = open(nomeArquivo, 'r')
except IOError as error:
print("Erro: ", error)
else:
print("Nome do Arquivo: ", nomeArquivo)
file.close()
Teste do Programa:
# ------------------------ SQLiteCriaBD.py
import sqlite3
49
values(?, ?, ?)
''', (id, nome, fone))
conector.commit()
id = id + 1
cursor.close()
conector.close()
print("Banco de Dados foi CRIADO: ", nomeBD)
Teste do Programa:
Teste do Programa:
50
Nome: Adriane Maria
Fone: 99156-4567
id: 3
Nome: Paola Maria
Fone: 98434-1234
3 registro(s)
>>>
import sqlite3, os
Teste do Programa:
51
O programa a seguir permite remover os campos do banco
de dados (Agenda.bd) gerados pelo programa anterior através
da leitura via teclado do identificador (id).
# ------------------------ SQLiteRemoveBD.py
import sqlite3, os
Teste do Programa:
# ------------------------ SQLiteAppendBD.py
import sqlite3, os
id = 1
cursor.execute("SELECT * FROM agenda")
result = cursor.fetchall()
for contato in result:
id += 1
nome = "Pessoa"
while nome != "":
52
print("id: ", id)
nome = input("Nome: ")
if nome != "":
fone = input("Fone: ")
cursor.execute('''
INSERT INTO agenda (id, nome, fone)
values(?, ?, ?)
''', (id, nome, fone))
conector.commit()
id = id + 1
cursor.close()
conector.close()
except sqlite3.Error as error:
print("Erro: BD não encontrado")
print("Erro: ", error)
os.remove(nomeBD)
Teste do Programa:
53
Sintaxe do comando open: file = open(nomeArquivo, modo)
1;Paulo Roberto;99164-8037;
2;Adriane Maria;99156-2345;
3;Paola Freitas;98678-1234;
# -------------------------------------- FileLeTexto.py
Teste do Programa:
# ------------------------------- FileLeDadosTexto.py
54
file.close()
except IOError as error:
print("ERRO: ", error)
Teste do Programa:
# -------------------------------------- FileAnexaTexto.py
Teste do Programa:
55
Gravou dados
id: 5
Nome:
>>>
1;Paulo Roberto;99164-8037;
2;Adriane Maria;99156-2345;
3;Paola Freitas;98678-1234;
4;Renato Luis;98778-3456;
5;Francisco Carlos;98178-5678;
# ------------------------------- FileCriaTexto.py
Teste do Programa:
1;Paulo Roberto;99164-8037;
2;Renato Luis; 98778-3456;
3;Francisco Carlos; 98178-5678;
# ------------------------------- FileProcuraDadosTexto.py
56
while posicao != 0:
posicao = int(input("Posição [0 - Sair]: "))
file.seek(0, 0) # reinicializa o cursor do arquivo no início
imprimiu = False
for linha in file:
campos = linha.split(';')
if campos[0] == str(posicao):
imprimiu = True
print("id: ", campos[0])
print("Nome: ", campos[1])
print("Fone: ", campos[2])
if not imprimiu:
print("Erro: Registro não encontrado")
file.close()
except IOError as error:
print("ERRO: ", error)
Teste do Programa:
RESTART:
/Users/pluzzardi/Desktop/Python/Python/File/FileProcuraDadosTexto.py
Nome do Arquivo: Dados.txt
Posição [0 - Sair]: 1
id: 1
Nome: Paulo Roberto
Fone: 99164-8037
Posição [0 - Sair]: 2
id: 2
Nome: Adriane Maria
Fone: 99156-2345
Posição [0 - Sair]: 3
id: 3
Nome: Paola Freitas
Fone: 98678-1234
Posição [0 - Sair]: 4
id: 4
Nome: Renato Luis
Fone: 98778-3456
Posição [0 - Sair]: 5
id: 5
Nome: Francisco Carlos
Fone: 98178-5678
Posição [0 - Sair]: 6
Erro: Registro não encontrado
Posição [0 - Sair]: 7
Erro: Registro não encontrado
Posição [0 - Sair]: 8
Erro: Registro não encontrado
Posição [0 - Sair]: 9
Erro: Registro não encontrado
Posição [0 - Sair]: 0
Erro: Registro não encontrado
>>>
# ------------------------------------ FileBuscaDadosTexto.py
57
file.seek(0, 0)
imprimiu = False
for linha in file:
campos = linha.split(';')
if nome == campos[1]:
imprimiu = True
print("id: ", campos[0])
print("Nome: ", campos[1])
print("Fone: ", campos[2])
if not imprimiu:
print("Erro: Nome não encontrado")
file.close()
except IOError as error:
print("ERRO: ", error)
Teste do Programa:
RESTART:
/Users/pluzzardi/Desktop/Python/Python/File/FileBuscaDadosTexto.py
Nome do Arquivo: Dados.txt
Nome: Paulo
Erro: Nome não encontrado
Nome: Paulo Roberto
id: 1
Nome: Paulo Roberto
Fone: 99164-8037
Nome: Renato Luis
id: 4
Nome: Renato Luis
Fone: 98778-3456
Nome:
Erro: Nome não encontrado
>>>
58