0% acharam este documento útil (0 voto)
24 visualizações64 páginas

Slides-Ippp-Minicurso-Python PT 24 25

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
24 visualizações64 páginas

Slides-Ippp-Minicurso-Python PT 24 25

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 64

Introdução à Programação em

Python

• Carlos Lopes
Um pouco de História
● Autor Linguagem : Guido van Rossum (Holanda)
● Inspirada na linguagem ABC
● Implementação iniciada em dezembro de 1989, primeira versão
pública em fevereiro de 1991
● Nome inspirado no grupo de comédia Monty Python
Porquê Python?
• Python é uma linguagem de propósito geral que se destaca por ser
poderosa, versátil, legível, fácil de aprender e por contar com uma
vasta e acolhedora comunidade mundial de utilizadores e
desenvolvedores.
• O aumento do interesse geral por temas como inteligência artificial,
ciência de dados e Machine Learning vem atraindo o interesse de
uma parcela crescente do público de tecnologia por Python.
• Os recursos, bibliotecas e ferramentas desenvolvidas na linguagem –
tais como numpy, pandas, scikit-learn, TensorFlow/Keras, e PyTorch,
entre outros – estão entre os mais utilizados por organizações de
todos os tamanhos para implementar soluções inteligentes.
Quem usa Python
• Organizações de todos os tamanhos e áreas de atuação:
• Órgãos governamentais
• Universidades
• Escolas
• centros de pesquisa
• profissionais liberais

• Descobriram na linguagem Python um diferencial importante


para seus negócios e atividades. Entre os casos mais famosos
estão Google, Intel, Facebook, Instagram, Netflix, Spotify,
Dropbox, PayPal, NASA, Globo.com etc.
Principais Caracteristicas
● Interpretada

● Tipificação/Tipagem dinâmica

● Multiplataforma

● Multiparadigma
Interpretador interativo
Python vem com um interpretador interativo que permite executar
uma instrução de cada vez e mostrar seu resultado
instantaneamente. Com ele você pode experimentar pequenos
pedaços de código para ver como eles vão se comportar antes de
usá-los em programas reais.
C:\Users\rodrigo>python
Python 3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)] on
win32
Type 'help', 'copyright', 'credits' or 'license' for more information.

>>> 2 + 2
4
>>>
Ambiente de desenvolvimento
O IDE é um ambiente de desenvolvimento integrado bastante
simples, que acompanha a instalação do Python. Vamos usá-lo
para escrever o código dos nossos programas.
Operadores matemáticos
Operador Operação Exemplo Resultado

** Potenciação 2 ** 3 8

% Módulo/Resto 22 % 8 6

/ Divisão de inteiros 22 // 8 2

/ Divisão 22 / 8 2.75

* Multiplicação 3*5 15

- Subtração 5-2 3

+ Soma 2+2 4
Armazenando dados em variávéis

Uma variável é um 'apelido' que damos para a referência a um


valor na memória do computador. Imagine que podemos colar uma
etiqueta para nos lembrar o que significa um determinado valor.

x
Os Dados têm tipos
● Números inteiros → int ● Valores lógicos → bool
○ 12 ○ True

○ 86400 ○ False

● Números decimais → float ● Textos → str


○ 0.33333 ○ 'Maria'

○ 3.14159 ○ 'Python é divertido!'

O comando type() retorna o tipo do dado:

>>> print(type('Python é divertido'))


<class 'str'>
>>> print(type(3.14159))
<class 'float'>
Afetação de variáveis
O tipo é definido no momento da atribuição de acordo com o valor
atribuído (Tipificação dinâmica). Uma instrução de atribuição cria
uma nova variável e atribui um valor a ela.

O operador de atribuição é o sinal =

filme = "Monty Python e o Cálice Sagrado"


sabe_programar = True
Afetação de Constantes
Python não tem instrução para definir Constantes

Utilizado apenas letras maiúsculas

Operador de atribuição é o sinal =

PI = 3.141592653589793
x=7 x = 14 y=x

7 14
x x
x = 15

14
y
Nomeando Variáveis
Os nomes de variáveis em Python precisam obedecer algumas
regras para serem considerados válidos pelo interpretador:

● Podem ter letras e números


● Não podem iniciar por um número
● O único caractere especial permitido é o underscore _
● Não pode coincidir com alguma palavra reservada do Python
Palavras Reservadas

and del from None True


as elif global nonlocal try
assert else if not while
break except import or with
class False in pass yield
continue finally is raise

def for lambda return


Imprimir Dados para o Ecrã

A função print() mostra na tela o valor entre parênteses.

>>> print('Hello world!')


Hello world!

>>> print(31 + 11)


42
Ler Dados do Utilizador
A função input() espera até que o utilizador digite algum texto
no teclado e pressione ENTER.
Ex:1
print(“Qual é o seu filme favorito?”)
filme = input()
print(“O seu filme favorito é: ”, filme)

Batman
Ex:2
nome = input()
print(“Olá : ” + nome)

Olá
Exercício: Usando Python como
Calculadora
1. Quantos segundos há em 70 minutos e 42 segundos?
2. Converta a seguinte expressão em código Python:
(54 + 3) ✕ 7 - 2
3. Qual o resto da divisão de 3964 por 14?
Coversão de Tipos
A função input() sempre retorna valores do tipo string.

Quando queremos que o valor informado pelo utilizador seja


usado como número, precisamos convertê-lo para o tipo
correspondente.

As funções int(), float(), bool() e str() convertem para inteiros,


decimais, booleanos e strings, respectivamente.
Exercício : Coversão de Tipos
Print(“Insira Numero 1:”)
Num1= input()
Sem Conversão
Print(“Insira Numero 2:”)
Num2= input()
Print(“Soma =” + num1 + num2)

>>> Qual Resultado ?????

Print(“Insira Numero 1:”)


Num1= int(input())
Print(“Insira Numero 2:”)
Num2= int(input()) Com Conversão
Print(“Soma =” + str(num1 + num2))

>>> Qual Resultado ?????


Executando Programas
Podemos usar um editor de texto para escrever o código-fonte dos
nossos programas. Os arquivos de código Python têm a extensão
.py. Vamos usar o IDLE para criar e executar o nosso primeiro
programa. Selecione a opção de menu File -> New Window:
Exercício: Variáveis e Referências
Escreva um programa que execute o pedaço de código abaixo e,
em seguida, imprima o valor e o tipo das variáveis x, y e z ao final
da execução. Salve com o nome de variaveis.py.

x = 5
y = 7.5
z = x
s = 'exemplo'
x = y + 5
y = z - 1
z = x * 2
t = s
s = y // 2
Comentar Linha de Código
Um comentário é uma maneira de fazer que um ou mais pedaços
do código-fonte não sejam executados. Sua principal utilidade é
documentar o que você está fazendo em seu código.

Em Python, tudo o que vem depois de um caractere # até o final


da linha é considerado um comentário.

# Isto é um comentário antes de um pedaço de código


mensagem = 'Olá, Python!'
a = 2 + 3 # Isto é um comentário in-line
Calcular Idade de uma Pessoa
Escreva um programa que peça nome e ano de nascimento do
utilizador, calcule a idade e imprima o resultado no formato
abaixo.

'<nome do utilizador> tem <idade> anos.'

Salve o programa em um arquivo chamado idade.py.


Controlar Fluxo do Programa

Podemos escolher a sequência de ações que nossos programas


executam a depender do resultado da verificação do valor de uma
ou mais variáveis.
Comparação de Valores
A comparação entre dois valores retorna um valor do tipo Boolean
(bool), ou seja, True ou False. Os operadores de comparação de
Python são:

Operador Significado

== Igual a

< Menor que

> Maior que

< Menor ou igual a


=
Maior ou igual a
>
Operadores Lógicos (Booleanos)

A comparação entre valores lógicos (ou booleanos) é feita usando


os operadores and, or e not, que também retornam True ou False.

AND OR NOT
True True True True True True True False

True False False True False True False True

False True False False True True

False False False False False False


If
A instrução if é responsável pela estrutura de decisão que serve
para selecionar quando uma parte do programa deve ser
executada.

A expressão booleana depois do if é chamada de condição. Se for


verdadeira, o bloco de código correspondente é executado.

a = 2
b = 7
if a < b:
print('a é menor que b.')
Identação e Espaços em branco
Em Python os blocos de código são definidos pela sua indentação
em relação ao início da linha.
Não existem delimitadores de bloco como { ... } ou begin …end.

O padrão mais aceite é usar 4 espaços para indentação.

Também é possível usar Tab ou qualquer outra quantidade de


espaços, desde que seja mantida consistente dentro do mesmo
bloco.
Exercício: Cálculo do Valor de multa
Escreva um programa que pergunte a velocidade do carro de um
utilizador. Caso ultrapasse 80 km/h, exiba uma mensagem
dizendo que o utilizador foi multado. Nesse caso, exiba o valor
da multa cobrando 5,00€ por km/h acima de 80.
Else
A instrução else indica que o pedaço de código seguinte deve ser
executado quando o resultado do teste feito no if for falso (False).

a = 2
b = 7
if a == b:
print('a é iguala b .’ )
else:
print('a é diferente de b.')
Elif
A instrução elif indica que queremos testar outra condição quando
o if for falso. É o equivalente a um else: if e serve para tornar o
código mais fácil de ler quando temos “ifs” aninhados.

if pontos >= 80:


nota = 'A'
elif pontos >= 65:
nota = 'B'
elif pontos >= 50:
nota = 'C'
else:
nota = 'D'
Exercício: Fornecedor de Internet
Escreva um programa que calcule o preço a pagar pelo consumo
de internet. Pergunte ao utilizador qual a quantidade consumida
em GB e o tipo de plano: R para residencial ou E para empresarial.
A
tabela de preços é a seguinte:
Faixa de
Preço por GB
Tipo de Plano consum
(em €)
o (em
GB)
Residencial Até 10 8,00
Acima de 10 12,00
Empresarial Até 100 10,00
Acima de 100 15,00
Repetindo pedaços Código do programa

Uma das vantagens do uso de computadores é que eles são


capazes de repetir tarefas inúmeras vezes de forma eficiente.

Por isso, em quase todos os programas precisamos executar algum


pedaço de código mais de uma vez.

Cada repetição de um pedaço de código é chamada de ciclo ou


loop.
While
O comando while repete um bloco de instruções até que uma
determinada condição seja verdadeira.

contagem = 10
while contagem > 0:
print(contagem)
contagem = contagem - 1
print('Decolar!')
Alterando o Cliclo/loop de repetição
break
Sai do ciclo mais próximo que envolve o bloco.
continue
Interrompe a repetição atual e salta para o início da próxima.
pass
Usado quando não queremos que se faça nada (bloco vazio).
else
Executa bloco de código após encerradas todas as repetições.
Exercício: Pedra, Papel e Tesoura
Faça um jogo de Pedra, Papel e Tesoura para dois jogadores. O
programa deve pedir que cada jogador digite sua jogada. Em
seguida, deve comparar as jogadas, mostrar uma mensagem de
parabéns ao vencedor e perguntar se os jogadores querem
começar uma nova partida.

Lembre-se das regras:

● Pedra ganha da tesoura


● Tesoura ganha do papel
● Papel ganha da pedra
Sequências: Armazenamento múltiplos
valores
Muitos problemas que podem ser resolvidos por computadores
envolvem guardar múltiplos valores agrupados.

Em Python, as estruturas de dados que tem tamanho determinado


e cujos itens podem ser acedidos por meio de índices são
chamadas de sequências.

Os principais tipos de sequências são listas, tuplos e strings.


Operadores de Sequências
in len(s)
Verifica se um valor está contido em Retorna o tamanho da sequência s.
uma sequência (retorna um valor
booleano) min(s)
Retorna o menor valor da sequência
+ s.
Concatena duas sequências
max(s)
* Retorna o maior valor da sequência
Repete a sequência s.
[i] s.index(x)
Retorna o item da sequência que Retorna o índice da primeira
está na posição i ocorrência do valor x na sequência s.
[i:j] s.count(x)
Retorna o intervalo da sequência Retorna a quantidade de ocorrências
entre as as posições i e j. de x na sequência s.
[i:j:k] s.append(‘a’)
Retorna o intervalo da sequencia Acrescenta o item ‘a’ na sequência
entre as as posições i e j saltando de k em s.
k elementos.
Listas
Uma lista é um valor que corresponde a uma estrutura que contém
múltiplos valores em uma sequência ordenada.

Por ser um valor, pode ser referenciada por uma váriável e utilizada
em expressões.

animais = ['gato', 'rato', 'cachorro', 'esquilo',


'cavalo', 'pombo']

print(animais[2])
'cachorro'
Listas (2)
Exercício: Dos itens da lista abaixo apresentada, crie uma
mensagem a seu gosto.

palavras = ['O', 'maior', 'Porto', 'é', 'Amorim',


‘Lage‘, ‘Bruno‘, ‘Benfica', ’não’, ‘campeonato’,
‘taça’, ‘Sporting’, ‘ganha’]

print(palavras [?], palavras [?] )


R:
Operadores de Listas

frutas = ['laranja', 'maçã', 'pera', 'banana', 'kiwi', 'maçã',


'banana']

print(frutas.count('maçã’))
R: 2
print(frutas.count('tangerina'))
R: 0
print(frutas.index('banana'))
R: 3
Print(frutas.index('banana', 4))
R: 6

frutas.reverse()
print(frutas)
R:['banana', 'maçã', 'kiwi', 'banana', 'pera', 'maçã', 'laranja']
Operadores de Listas (2)

frutas.append('uva')
print(frutas)
R: ['banana', 'maçã', 'kiwi', 'banana', 'pera', 'maçã', 'laranja', 'uva']

frutas.sort()
print(frutas)
R: ['banana', 'banana', 'kiwi', 'laranja', 'maçã', 'maçã', 'pera', 'uva']

frutas.pop(2) #'kiwi’
Print(frutas)
R:['banana', 'banana', 'laranja', 'maçã', 'maçã', 'pera’, ‘uva’]

frutas.remove(‘uva’)
Print(frutas)
R:['banana', 'banana', 'laranja', 'maçã', 'maçã', 'pera']
Listas são Objetos mutáveis
Qual o valor de b?

a = ['Python', 'Java', 'C#']


b = a
a.append('JavaScript')
print(“Lista A: ”, a)
print(“Lista B: ”, b)
Para fazer cópias de listas:

a = ['Python', 'Java', 'C#']


b = a[:]
a.append('JavaScript')
print(“Lista B: ”, b)
R: ['Python', 'Java', 'C#']
print(“Lista A: ”, a)
R: ['Python', 'Java', 'C#', 'JavaScript']
For
O comando for serve para percorrer uma sequência de itens.

Para cara item percorrido, um bloco de código é executado.


animais = ['gato', 'rato', 'cachorro', 'esquilo', 'cavalo',
'pombo']

for animal in animais:


print(animal)

gato
rato
cachorro
esquilo
cavalo
pombo
Range()
A função range() serve para gerar sequências de números.

for i in range(5): r = range(25, 0, -5)


print(i * 2) for i in r:
print(i, "/ 2 =", i / 2)

0
25 / 2 = 12.5
2
20 / 2 = 10.0
4
15 / 2 = 7.5
6
10 / 2 = 5.0
8 5 / 2 = 2.5
>>> >>>
Exercício: Palavras no Plural
Dada a lista abaixo, escreva um programa que gere uma nova lista
em que as palavras que estão nas posições ímpares fiquem no
plural. Salve o arquivo com o nome plural.py.

palavras = [“carro”, “melancia”, “balde”,


“navio”, “gato”, “floresta”]
Exercício: Palavras no Plural
Resolução:

#lista Original
singular = ["carro", "melancia", "balde", "navio", "gato", "floresta"]

#criar lista Plural vazia


plural = []

#Definir range até ao tamanho da lista Singular


for i in range(len(singular)):
#Verificar se o Numero é impar
if i % 2 !=0:
#Se numero é impar, adicionar à lista Plural
plural.append(singular[i] + "s")

print("Lista de items ímpares no Plural :", plural)


Tuplos
São semelhantes a listas, porém são imutáveis. Entre outras
coisas, isso quer dizer que não podemos inserir, remover ou atribuir
novos valores a itens de tuplos.
filme = ('O Padrinho', 1972, 'Francis Ford Coppola')
lancamento = filme[1]
Print(lancamento)
R: ???
filme[1] = 1973

filme = ('O Padrinho', 1972, 'Francis Ford Coppola’)


print(type(filme))
R: ???
filmes = ['O Padrinho', 1972, 'Francis Ford Coppola’]
print(type(filmes))
R: ???
Converter Listas em Tuplos
As funções list() e tuple() servem para converter sequências para
listas e tuplos, respectivamente.
filme = ('O Padrinho', 1972, 'Francis Ford Coppola')
print(type(filme))
R: <class 'tuple'>
filme[1] = 1973 => Erro:TypeError: 'tuple' object does not support item
assignment

#Converter Tuplo em Lista


filme = list(filme)
filme[1] = 1973
print(filme)
R: ['O Padrinho', 1973, 'Francis Ford Coppola']
Strings
As strings também são sequências imutáveis na qual cada item é
um caracter.

Os mesmos operadores comuns a sequências também funcionam


com strings. Isso quer dizer que podemos referenciar cada caracter
pelo índice, fatiar strings, obter tamanho, contar o número de
ocorrências de caracteres etc.

“Python” ‘P’ ‘y’ ‘t’ ‘h’ ‘o’ ‘n’

0 1 2 3 4 5
Strings (2)
“Python” ‘P’ ‘y’ ‘t’ ‘h’ ‘o’ ‘n’

0 1 2 3 4 5

s ="Python" print(s+ " é espetacular!")


print(len(s)) Python é espetacular!’
R: ?
print(s.count('y'))
print(s * 3)
R: ?
'PythonPythonPython'
print(s[1:3])
R: ?
print(s.index('o'))
R:?
Mais Truques com Strings
● split(), join()
● upper(), lower()
● startswith(), endswith()
● find(), replace()
● strip()
Formatação de Strings
format()
Strings de formatação incluem campos de substituição
delimitados por chavetas {}. Qualquer coisa que não estiver entre
chavetas é considerada texto literal.
print(“{} marcou {} pontos na partida.".format("LeBron James", 32))

R: LeBron James marcou 32 pontos na partida.

print("Hoje é {2} de {1} de {0}".format(2019, "abril", 24))


R : Hoje é 24 de abril de 2019'

artista = "Freddie Mercury“


musica = "We Are The Champions“
banda = "Queen“
print("O vocalista {a} da banda {b} gravou {m} ".format(m=musica,a=artista,
b=banda))
R: O vocalista Freddie Mercury da banda Queen gravou We Are The Champions
1. Escreva um programa que peça uma frase e a imprima, em
minúsculas, substituindo os espaços por hífen (-).
2. Escreva um programa que peça o nome do utilizador e o
imprima de trás para frente em letras maiúsculas.
1. Escreva um programa que peça uma frase e a imprima, em
minúsculas, substituindo os espaços por hífen (-).
frase = "Olá, meu nome João, tenho 26 anos“

#Função Lower
frase = frase.lower()
print(frase)

#Função Replace
frase = frase.replace(" ", "-")
print(frase)

#Função split transforma string numa Lista


x = frase.split(",")
print(x)
print(type(x))
Em Python, um dicionário é uma estrutura de dados na qual os
items são armazenados e localizados por uma chave, em vez de
índices por deslocamento posicional.

Em outras linguagens: maps, hashmaps, arrays associativos...

Carro = {
"marca": "Ford",
"modelo": "Mustang",
"ano": 1964
}

print (Carro)

print(Carro["marca"])
Dicionários : Métodos úteis
● d.keys()
○ Retorna lista com as chaves do dicionário

● d.values()
○ Retorna lista com os valores do dicionário

● d.items()
○ Retorna lista das tuplas de chave e valor do dicionário

● d.get(k, valor_padrao)
○ Retorna o valor correspondente à chave k ou o valor_padrao caso a
chave não exista no dicionário

● d.setdefault(k, valor_padrao)
○ Atribui valor_padrao à chave k caso ela não exista no dicionário
Exercício : Contando Ocorrências de
Carateres
Escreva um programa que leia uma frase informada pelo utilizador
e conte a quantidade de ocorrências de cada caracter,
armazenando a contagem em um dicionário.
Funções: Melhorando a estrutura do
código
Geralmente precisamos reutilizar o mesmo pedaço de código com
dados diferentes. Para isso, podemos usar o conceito de funções.
Funções são como mini-programas dentro do seu programa. Elas
podem receber dados de entrada e retornar dados de saída.
def gorjeta(valor):
resultado = (valor*10)/100
return resultado

print(“O valor da gorjeta é:” , gorjeta(50))

def gorjeta(valor,Perctg_Desconto):
resultado = (valor* Perctg_Desconto)/100
return resultado

print(“O valor da gorjeta é:” , gorjeta(50,5))


PALAVRA-CHAVE QUE ARGUMENTOS
INDICA DEFINIÇÃO DE NOME DA FUNÇÃO
(ENTRADAS)
FUNÇÃO

def faz_algo (a, b, c):


linha 1
…linha
n
return resultado
PALAVRA-CHAVE QUE VALOR DE
INDICA O RESULTADO RETORNO (SAÍDA)
DA FUNÇÃO
Exercício : Cálculo da Média
Escreva uma função chamada media() que receba uma lista de
números e retorne a média dos seus valores.

Salve o código em um arquivo chamado util.py.


Exercício : Cálculo da Média
Resolução :

# Módulo util.py que tem função media


def media(lista_Notas):
m = sum(lista_Notas)/len(lista_Notas)
return m
Referências
1. MENEZES, Nilo Ney Coutinho. Introdução à Programação com Python. 2a ed. Novatec, 2019.
2. SWEIGART, Al. Automate the Boring Stuff with Python. No Starch Press, 2015. Disponível em
<http://automatetheboringstuff.com/ >.
3. DRISCOLL, Mike. Python 101. Leanpub, 2014.
4. DOWNEY, Allen B. Pense em Python. Novatec, 2016.
5. Python Software Foundation. The Python Tutorial. Version 3.7.3. Disponível em
<https://docs.python.org/3/tutorial/>.
6. SARGENT, Thomas J. e STACHURSKI, John. Quantitative Economics with Python. Disponível em
<https://lectures.quantecon.org/py/>.
7. Python Basics <https://pythonbasics.org>

Você também pode gostar