Apostila Python 1
Apostila Python 1
Apostila Python 1
INTRODUÇÃO À PROGRAMAÇÃO
COM PYTHON
Este material foi escrito para ser utilizado em cursos de extensão de Introdução à
Programação com Python, do Instituto Federal de Educação, Ciência e Tecnologia de
São Paulo, câmpus São Carlos.
Reforçando, este é um material introdutório. Tem muito mais para aprender em Python:
orientação a objetos, programação funcional, metaprogramação, interface gráfica,
expressões regulares, threads, tratamento de exceções, funções anônimas, geradores,
desenvolvimento web, aplicativos móveis, entre outras.
1
1. INTRODUÇÃO
A linguagem de programação Python foi criada em 1991 por Guido Van Rossumem, com a
finalidade de ser uma linguagem simples e de fácil compreensão. Apesar de simples, Python é uma
linguagem muito poderosa, que pode ser usada para desenvolver e administrar grandes sistemas.
Uma das principais características que diferencia a linguagem Python das outras é a legibilidade dos
programas escritos. Isto ocorre porque, em outras linguagens, é muito comum o uso excessivo de
marcações (ponto ou ponto e vírgula), de marcadores (chaves, colchetes ou parênteses) e de
palavras especiais (begin/end), o que torna mais difícil a leitura e compreensão dos programas. Já
em Python, o uso desses recursos é reduzido, deixando a linguagem visualmente mais limpa, de
fácil compreensão e leitura.
Python é um software livre, ou seja, permite que usuários e colaboradores possam modificar seu
código fonte e compartilhar essas novas atualizações, contribuindo para o constante
aperfeiçoamento da linguagem. A especificação da linguagem é mantida pela empresa Python
Software Foundation (PSF).
2
2. Digite o comando sudo apt-get install python3.4 no terminal do GNU/Linux para inicializar
o processo de instalação.
3
c) Instalação do Python no Windows
A instalação do interpretador Python para Windows é mais simples, conforme apresentado a seguir:
2. Após o download, execute o instalador mantendo, por default, todas as configurações a cada
passo da instalação. Depois clique em Finalizar e o interpretador Python já estará instalado
no computador.
Caso você não consiga executar o interpretador Python pelo prompt de comando, provavelmente o
path não está configurado. Veja abaixo os passos para configurá-lo:
1. Com o cursor do mouse vá até Computador, clique com o botão direito e escolha
Propriedades.
3. Com ajuda da barra de rolagem procure a variável chamada path, selecione-a e escolha a
opção Editar.
4. Na próxima janela, no campo Valor de variável, você irá encontrar uma lista contendo
vários paths de outros programas. Para adicionar um novo path, vá até o final da lista e
acrescente um ponto e vírgula ( ; ). Depois disso, copie o endereço da pasta onde se
encontra instalado o interpretador Python e cole após ponto e vírgula.
2. VARIÁVEIS
Variáveis são pequenos espaços de memória, utilizados para armazenar e manipular dados. Em
Python, os tipos de dados básicos são: tipo inteiro (armazena números inteiros), tipo float (armazena
números em formato decimal), e tipo string (armazena um conjunto de caracteres). Cada variável
pode armazenar apenas um tipo de dado a cada instante.
Em Python, diferentemente de outras linguagens de programação, não é preciso declarar de que tipo
será cada variável no início do programa. Quando se faz uma atribuição de valor, automaticamente a
variável se torna do tipo do valor armazenado, como apresentado nos exemplos a seguir:
Exemplos:
4
A variável b se torna uma variável do tipo float.
A atribuição de valor para uma variável pode ser feita utilizando o comando input(), que
solicita ao usuário o valor a ser atribuído à variável.
Exemplo:
O comando input(), sempre vai retornar uma string. Nesse caso, para retornar dados do tipo
inteiro ou float, é preciso converter o tipo do valor lido. Para isso, utiliza-se o int (string) para
converter para o tipo inteiro, ou float (string) para converter para o tipo float.
Exemplos:
Em Python, os nomes das variáveis devem ser iniciados com uma letra, mas podem possuir outros
tipos de caracteres, como números e símbolos. O símbolo sublinha ( _ ) também é aceito no início
de nomes de variáveis.
5
Tabela 1 - Exemplos de nomes válidos e inválidos
velocidade90 Sim Nome formado por letras e números, mas inicia com letras.
salario médio Não Nomes de variáveis não podem conter espaços em branco.
3. STRINGS
Uma string é uma sequência de caracteres simples. Na linguagem Python, as strings são utilizadas
com aspas simples ('... ') ou aspas duplas ("...").
Para exibir uma string, utiliza-se o comando print().
Exemplo:
Exemplo:
6
3.2 Manipulação de strings
Em Python, existem várias funções (métodos) para manipular strings. Na tabela a seguir são
apresentados os principais métodos para a manipulação as strings.
7
n = "Apostila teste"
Substitui na string o trecho S1 pelo trecho S2. n.replace("teste", "Python")
replace(S1, S2)
'Apostila Python'
Retorna o índice da primeira ocorrência de um de- o = "Python"
terminado caractere na string. Se o caractere não o.find("h")
find()
estiver na string retorna -1. 3
p = " Python"
Ajusta a string para um tamanho mínimo, acrescen-
p.ljust(15)
ljust() tando espaços à direita se necessário.
' Python '
q = "Python"
Ajusta a string para um tamanho mínimo, acrescen-
q.rjust(15)
rjust() tando espaços à esquerda se necessário.
' Python'
r = "Python"
Ajusta a string para um tamanho mínimo, acrescen-
r.center(10)
center() tando espaços à esquerda e à direita, se necessário.
' Python '
s = " Python "
Remove todos os espaços em branco do lado esquer-
s.lstrip()
lstrip() do da string.
'Python '
t = " Python "
Remove todos os espaços em branco do lado direito
rstrip() t.rstrip()
da string.
' Python'
u = " Python "
strip() Remove todos os espaços em branco da string. u.strip()
'Python'
Exemplo:
s = "Python"
s[1:4] seleciona os elementos das posições 1,2,3
'yth'
2 - Escreva um programa que solicite uma frase ao usuário e escreva a frase toda em maiúscula e
sem espaços em branco.
8
4. NÚMEROS
Os quatro tipos numéricos simples, utilizados em Python, são números inteiros (int), números lon-
gos (long), números decimais (float) e números complexos (complex).
9
5. LISTAS
Lista é um conjunto sequencial de valores, onde cada valor é identificado através de um índice. O
primeiro valor tem índice 0. Uma lista em Python é declarada da seguinte forma:
Uma lista pode ter valores de qualquer tipo, incluindo outras listas.
Exemplo:
print(L[2])
9.7
print(L[3])
[5,6,3]
print(L[3][1])
6
Para alterar um elemento da lista, basta fazer uma atribuição de valor através do índice. O valor
existente será substituído pelo novo valor.
Exemplo:
L[3]= 'morango'
print(L)
L = [3 , 'abacate' , 9.7 , 'morango', "Python" , (3 , 'j')]
L[7]= 'banana'
A lista é uma estrutura mutável, ou seja, ela pode ser modificada. Na tabela a seguir estão
algumas funções utilizadas para manipular listas.
10
Tabela 6 - Operações com listas
Repetição ( * )
L = [1,2]
R = L * 4
print(R)
[1, 2, 1, 2, 1, 2, 1, 2]
A função range() define um intervalo de valores inteiros. Associada a list(), cria uma lista com os
valores do intervalo.
A função range() pode ter de 1 a 3 parâmetros:
range(n) gera um intervalo de 0 a n-1
range(i , n) gera um intervalo de i a n-1
range(i , n, p) gera um intervalo de i a n-1 com intervalo p entre os números
Exemplos:
L1 = list(range(5))
print(L1)
[0, 1, 2, 3, 4]
L2 = list(range(3,8))
print(L2)
[3, 4, 5, 6, 7]
L3 = list(range(2,11,3))
print(L3)
[2, 5, 8]
1 – Dada a lista L = [5, 7, 2, 9, 4, 1, 3], escreva um programa que imprima as seguintes informações:
a) tamanho da lista.
b) maior valor da lista.
c) menor valor da lista.
d) soma de todos os elementos da lista.
e) lista em ordem crescente.
f) lista em ordem decrescente.
Exemplo:
T = (1,2,3,4,5)
print(T)
(1, 2, 3, 4, 5)
print(T[3])
4
T[3] = 8
Traceback (most recent call last):
File "C:/Python34/teste.py", line 4, in <module>
T[3] = 8
TypeError: 'tuple' object does not support item assignment
Exemplo:
T = (10,20,30,40,50)
a,b,c,d,e = T
print("a=",a,"b=",b)
a= 10 b= 20
print("d+e=",d+e)
d+e= 90
7. DICIONÁRIOS
Dicionário é um conjunto de valores, onde cada valor é associado a uma chave de acesso.
Um dicionário em Python é declarado da seguinte forma:
Exemplo:
D={"arroz": 17.30, "feijão":12.50,"carne":23.90,"alface":3.40}
print(D)
{'arroz': 17.3, 'carne': 23.9, 'alface': 3.4, 'feijão': 12.5}
print(D["carne"])
23.9
13
print(D["tomate"])
Traceback (most recent call last):
File "C:/Python34/teste.py", line 4, in <module>
print(D["tomate"])
KeyError: 'tomate'
Exemplo:
Dx ={2:"carro", 3:[4,5,6], 7:('a','b'), 4: 173.8}
print(Dx[7])
('a', 'b')
Lanchonete
Produtos Preços R$
Salgado R$ 4.50
Lanche R$ 6.50
Suco R$ 3.00
Refrigerante R$ 3.50
Doce R$ 1.00
2 – Considere um dicionário com 5 nomes de alunos e suas notas. Escreva um programa que calcule
a média dessas notas.
14
8. BIBLIOTECAS
As bibliotecas armazenam funções pré-definidas, que podem ser utilizados em qualquer momento
do programa. Em Python, muitas bibliotecas são instaladas por padrão junto com o programa. Para
usar uma biblioteca, deve-se utilizar o comando import:
import math
print(math.factorial(6))
Bibliotecas Função
math Funções matemáticas
tkinter Interface Gráfica padrão
smtplib e-mail
time Funções de tempo
Além das bibliotecas padrão, existem também outras bibliotecas externas de alto nível disponíveis
para Python. A tabela a seguir mostra algumas dessas bibliotecas.
9. ESTRUTURAS DE DECISÃO
if (se)
if..else (se..senão)
if..elif..else (se..senão..senão se)
15
9.1 Estrutura if
O comando if é utilizado quando precisamos decidir se um trecho do programa deve ou não ser
executado. Ele é associado a uma condição, e o trecho de código será executado se o valor da
condição for verdadeiro.
Sintaxe:
if <condição> :
<Bloco de comandos >
Exemplo:
Sintaxe:
if <condição> :
<Bloco de comandos para condição verdadeira>
else :
<Bloco de comandos para condição falsa>
Exemplo:
Sintaxe:
if <condição1> :
<Bloco de comandos 1>
elif <condição2> :
<Bloco de comandos 2>
elif <condição3> :
<Bloco de comandos 3>
:::::::::::::::::::::::::::::::::::::::::
else :
<Bloco de comandos default>
16
Somente o bloco de comandos associado à primeira condição verdadeira encontrada será executado.
Se nenhuma das condições tiver valor verdadeiro, executa o bloco de comandos default.
Exemplo:
2 – Refaça o exercício 1, identificando o conceito aprovado (média superior a 6), exame (média
entre 4 e 6) ou reprovado (média inferior a 4).
No laço while, o trecho de código da repetição está associado a uma condição. Enquanto a condição
tiver valor verdadeiro, o trecho é executado. Quando a condição passa a ter valor falso, a repetição
termina.
Sintaxe:
while <condição> :
<Bloco de comandos>
Exemplo:
senha = "54321"
leitura =" "
while (leitura != senha):
leitura = input("Digite a senha: ")
if leitura == senha :
print('Acesso liberado ')
else:
print('Senha incorreta. Tente novamente')
17
Digite a senha: abcde
Senha incorreta. Tente novamente
Digite a senha: 12345
Senha incorreta. Tente novamente
Digite a senha: 54321
Acesso liberado
contador = 0
somador = 0
while contador < 5:
contador = contador + 1
valor = float(input('Digite o '+str(contador)+'º valor: '))
somador = somador + valor
print('Soma = ', somador)
O laço for é a estrutura de repetição mais utilizada em Python. Pode ser utilizado com uma
sequência numérica (gerada com o comando range) ou associado a uma lista. O trecho de código da
repetição é executado para cada valor da sequência numérica ou da lista.
Sintaxe:
Exemplos:
S=0
for x in range(1,20,3):
S = S+x
print('Soma = ',S)
2. As notas de um aluno estão armazenadas em uma lista. Calcular a média dessas notas.
Lista_notas= [3.4,6.6,8,9,10,9.5,8.8,4.3]
soma=0
for nota in Lista_notas:
soma = soma+nota
média = soma/len(Lista_notas)
print('Média = ', média)
18
10.3 Exercícios: estrutura de repetição
11. FUNÇÕES
Funções são pequenos trechos de código reutilizáveis. Elas permitem dar um nome a um bloco de
comandos e executar esse bloco, a partir de qualquer lugar do programa.
def hello():
print ("Olá Mundo!!!")
>>> hello()
Olá Mundo!!!
>>> maior(4,7)
7
19
11.3 Escopo das variáveis
Toda variável utilizada dentro de uma função tem escopo local, isto é, ela não será acessível por
outras funções ou pelo programa principal. Se houver variável com o mesmo nome fora da função,
será uma outra variável, completamente independentes entre si.
Exemplo:
def soma(x,y):
total = x+y
print("Total soma = ",total)
#programa principal
total = 10
soma(3,5)
print("Total principal = ",total)
Resultado da execução:
Total soma = 8
Total principal = 10
Para uma variável ser compartilhada entre diversas funções e o programa principal, ela deve ser
definida como variável global. Para isto, utiliza-se a instrução global para declarar a variável em
todas as funções para as quais ela deva estar acessível. O mesmo vale para o programa principal.
Exemplo:
def soma(x,y):
global total
total = x+y
print("Total soma = ",total)
#programa principal
global total
total = 10
soma(3,5)
print("Total principal = ",total)
Resultado da execução:
Total soma = 8
Total principal = 8
O comando return é usado para retornar um valor de uma função e encerrá-la. Caso não seja
declarado um valor de retorno, a função retorna o valor None (que significa nada, sem valor).
20
Exemplo:
def soma(x,y):
total = x+y
return total
#programa principal
s=soma(3,5)
print("soma = ",s)
Resultado da execução:
soma = 8
Observações:
a) O valor da variável total, calculado na função soma, retornou da
função e foi atribuído à variável s.
b) O comando após o return foi ignorado.
É possível definir um valor padrão para os parâmetros da função. Neste caso, quando o valor é
omitido na chamada da função, a variável assume o valor padrão.
Exemplo:
>>> calcula_juros(500)
50.0
1 - Crie uma função para desenhar uma linha, usando o caractere '_'. O tamanho da linha deve ser
definido na chamada da função.
2 - Crie uma função que receba como parâmetro uma lista, com valores de qualquer tipo. A função
deve imprimir todos os elementos da lista numerando-os.
3 - Crie uma função que receba como parâmetro uma lista com valores numéricos e retorne a média
desses valores.
21
12. RESPOSTAS DOS EXERCÍCIOS
Strings
1) A[3:20]
Números
Listas
1) L = [5, 7, 2, 9, 4, 1, 3]
print("Lista = ",L)
print("O tamanho da lista é ",len(L))
print("O maior elemento da lista é ",max(L))
print("O menor elemento da lista é ",min(L))
print("A soma dos elementos da lista é ",sum(L))
L.sort()
print("Lista em ordem crescente: ",L)
L.reverse()
print("Lista em ordem decrescente: ",L)
2) L = list(range(3,50,3))
22
Dicionários
print(dic)
notas=classe.values()
média = sum(notas)/5
print("A média da classe é ",média)
Estrutura de decisão
1) S=0
for x in range(3,334,3):
S=S+x
print("Soma = ",S)
2)
S=0
for contador in range(1,11):
nota = float(input("Digite a nota "+str(contador)+": "))
S=S+nota
print("Média = ",S/10)
3)
numero = int(input("Digite o número para a tabuada: "))
for sequencia in range(1,11):
print("%2d x %2d = %3d" %(sequencia,numero,sequencia*numero))
Funções
1) def linha(N):
for i in range(N):
print(end='_')
print(" ")
2) def imprime_lista(L):
contador=0
for valor in L:
contador = contador + 1
print(contador,')',valor)
3) def media_lista(L):
somador=0
for valor in L:
somador = somador + valor
return somador/len(L)
24
BIBLIOGRAFIA
BORGES, L. E. Python para desenvolvedores. 1ed. São Paulo – SP: Novatec, 2014.
25