Introdu o Ao Python VFinal
Introdu o Ao Python VFinal
Célula N
Apresentando a arquitetura do Notebook:
- Visão Geral
Célula N
Executar um programa!
Apresentando a arquitetura do Notebook:
- Visão Geral
1. Dominando variável
2. Entrada de dados
3. Saída de dados
4. Exercícios
1. Dominando variável
print(mensagem)
1. Dominando variável
Tipos de valores
• Inteiros (int): -22, 0, 44
– A aritmética é exata
• nome_da_variável = valor
• Outros tipos de entrada de dados interna (atribuição):
Caso 1: atribuição múltipla → A = B = C = 1
Caso 2: atribuição posicional → A, B, C = 1, 2, 3
Caso 3: inversão de objetos → X, Y = Y, X
• Exemplo:
X, Y = 0, -10
print(X, Y)
0 -10
X, Y = Y, X
print(X, Y)
-10 0
2. Entrada de dados
Entrada externa (valores são definidos pelo usuário do programa)
• nome_da_variável = tipoVariável(input("texto"))
• Exemplo
• Texto
print("texto para print")
print("Aluno aprovado!")
próximo
próximo
Manipulando números – round exemplos
Manipulando números – round exemplos
Segundo passo:
Estrutura Condicional
Estrutura Condicional
O Python suporta as condições lógicas usuais da matemática, retornando um valor lógico
booleano (Falso | Verdadeiro):
Igual a: a == b
Não é igual: a! = b
1) Not a = 33
b = 200
if not a > b:
print("a não é maior que b")
2) or a = 200
b = 33
c = 500
if a > b or a > c:
print(“Pelo menos uma das condições é verdadeira")
3) and a = 200
b = 33
c = 500
if a > b and c > a:
print(“As duas condições são verdadeiras")
Estrutura Condicional
deseja-se pagar uma gratificação. A condições para este pagamento, é que se o salário do
funcionário for menor que R$ 3.500,00 deverá ser adicionado ao vencimento uma
O Python tem suporte para este tipo de mecanismo de processamento, chamamos de estrutura
condicional.
Estrutura Condicional
A principal e mais usada estrutura condicional do Python é a construção if/else.
O Python suporta as condições lógicas usuais da matemática, retornando um valor lógico booleano
(Falso | Verdadeiro) – Atente pela indentação. Formatos:
if condição1:
Bloco de execução da condição verdadeira
else:
Bloco de execução na condição de falha na condicional
if condição1:
Bloco de execução da condição verdadeira
elif condição2:
Bloco de execução da condição verdadeira
else:
Bloco de execução na condição de falha na condicional
Estrutura Condicional - variações
If condicional:
If condicional:
else:
Estrutura Condicional - variações
If condicional:
elif:
else:
Estrutura Condicional - composta
If
condicional
:
elif:
else:
Estrutura Condicional - aninhada
Estrutura de dados
Estrutura de Dados
Processamento de strings
• Sequências imutáveis de códigos Unicode: dados textuais
em Python são manipulados com objetos str ou strings.
▪ Fragmentar strings:
s = 'ola mundo!'
s[3:8] #' mund'
Conhecendo Listas
• O Python inclui diversas estruturas de dados compostas, usadas para
agrupar outros valores.
• A mais versátil é list (lista), que pode ser escrita como uma lista de
valores (itens) separados por vírgula, entre colchetes.
Exemplos:
print (num[3]) # 25
print (letra[0]) # g
print (letra[-1]) # y
print (letra[-3]) # 1
letra[2] = ‘x'
• lista.extend(iterable)
Prolonga a lista, adicionando no fim todos os elementos do argumento
iterable passado como parâmetro. Equivalente a:
letra[len(letra):] = complemento
['g', 'w', 'p', '1', 'b', ‘y’, 1, 2, 3, 4]
Listas – Métodos associados
• Considere:
letra = ['g', 'w', 'p', '1', 'b', 'y']
complemento = [1, 2, 3, 4]
• lista.insert(i, x)
Insere um item em uma dada posição. O primeiro argumento é o índice
do elemento antes do qual será feita a inserção, assim a.insert(0, x) insere
um elemento na frente da lista, por outro lado, a.insert(len(a), x) é equivale
a lista.append(x).
Exemplo: letra.insert(1, ‘_’) # ['g', ‘_’, 'w', 'p', '1', 'b', 'y']
Listas – Métodos associados
• Considere:
letra = ['g', ‘g', 'p', '1', 'b', ‘g’]
• lista.remove(x)
Remove o primeiro item encontrado na lista cujo valor é igual a x. Se
não existir valor igual, uma exceção ValueError é levantada. Exemplos:
letra.remove(‘g’)
['g', 'p', '1', 'b', 'g’]
try:
letra.remove('x')
except ValueError:
print('Valor não encontrado!')
print(letra) #['g', 'g', 'p', '1', 'b', 'g']
Listas – Usando a instrução del
• Remove um item de uma lista usando seu índice no lugar do seu valor.
• Ele difere do método pop() que devolve um valor.
• Exemplos:
copia = letra.copy()
copia[0] = 'z'
▪ Listas não podem ser usadas como chaves porque podem ser
modificadas.
Dicionários: Conceitos
▪ Um bom modelo mental é imaginar um dicionário como um conjunto não-
ordenado de pares chave:valor, onde as chaves são únicas em uma dada
instância do dicionário.
▪ Dicionários são delimitados por chaves: {}, e contém uma lista de pares
chave:valor separada por vírgulas.
tel['Arnaldo'] = 4127
print(tel['Osmar']) # 4098
del tel['Pedro']
tel['Marcos'] = 4127
Nomes = list(tel)
Nomes_ord = sorted(tel)
print(nome, tel)
Saída do programa:
Osmar 4098
Arnaldo 4127
Marcos 4127
Dicionários: Métodos Associados
dic.clear()
frutas.clear()
print(frutas) # {}
Dicionários: Métodos Associados
dic.get(key)
print(frutas.get(1)) # Maçã
Dicionários: Métodos Associados
dic.update(dict)
frutas.update(frutas_tmp);
frutas.update(frutas_tmp);
print(list(frutas)) # [1, 2, 3]
print(i, v)
frutas[i]= v
print(list(frutas)) # [1, 2, 3]
L = ['Laranja','Abacaxi','Abacate','Limão']
for i, v in enumerate(L):
print(i, v)
frutas[i]= v
frutas.pop(2)
Limite superior
range(5): [0, 1, 2, 3, 4]
Limites inferior e superior
Incremento entre os
elementos
Avalie a execução:
# Exemplo 1
result = 0
for element in range(5):
result = result + element
print("A soma é: " + str(result))
# Exemplo 2
result = 0
for element in range(5, 1, -1):
result = result + element
print("A soma é:", result)
# Exemplo 3
result = 0
for element in range(0, 8, 2):
result = result + element
print(“A soma é:", result)
Avalie a execução:
# Exemplo 4
result = 0
tam = 5
for element in range(tam):
result = result + element
print(“Quando tam = " + str(tam) + " o
resultado é " + str(result))
# Exemplo 5
mylist = [35, 123, 81, 14, 66, 2, 21, 8]
curr_max = mylist[0]
for element in mylist:
curr_max = max(curr_max, element)
print(curr_max)
Avalie a execução:
# Exemplo 6
Aproximação de 3 pela fórmula: 1 + 2/3 + 4/9 + 8/27 + 16/81 + …
= (2/3)0 + (2/3)1 + (2/3)2 + (2/3)3 + … + (2/3)10
result = 0
for element in range(11):
result = result + (2.0/3.0)**element
print (result)
1)
for i in [0, 1]:
print(i)
print(i)
2)
i = 5
for i in []:
print(i)
Exercícios de fixação – O que será impresso?
3)
for i in [0, 1]:
print("Externo", i)
for i in [2, 3]:
print(" Interno", i)
print("Externo", i)
4)
for tam in [1, 2, 3, 4]:
print(" tam é " + str(tam))
for elemento in range(tam):
print("O element é " + str(elemento))
Exercícios de fixação – O que será impresso?
77
Loops: continue
O comando break interrompe o looping e
continue passa para a próxima iteração.
78
Loops: break
nome = "Osmar Ventura Gomes"
for letra in nome:
print(letra, end="")
break
79
Loops: while
x = 0
print('antes do while’)
while(x<10):
print(x)
x+=1
else:
print('fim do while')
print('fim’)
80
Loops: while - continue
x = 0
print('antes do while’)
while(x<10):
print(x)
x+=1
continue
else:
print('fim do while')
print('fim’)
81
Loops: while - continue
x = 0
print('antes do while’)
while(x<10):
continue
print(x)
x+=1
else:
print('fim do while')
print('fim’)
82
Loops: while - break
x = 0
print('antes do while’)
while(x<10):
break
print(x)
x+=1
else:
print('fim do while')
print('fim’)
83
Loop infinito
x = 0
print('antes do while’)
while(True):
print(x)
x+=1
#break
else:
print('fim do while')
print('fim’)
84
Funções: definição
• Uma das principais formas de se criar componentes reusáveis em
Python são as chamadas funções.
• Uma função é basicamente um trecho de código (um procedimento,
um algoritmo) que pode ser usado várias vezes.
sequencia = fibo(100)
print(sequencia) # [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
Formatando de strings
Exemplos:
1) Posicionar o valor de uma variável em um texto, adicione um
espaço reservado onde deseja exibir o preço:
preco = 49
txt = "O preço é {} reais"
print(txt.format(preco))
Formatando de strings
Exemplos:
2) Exibir um valor com um número específico de casas decimais:
preco = 49
#txt = "O preço é {} reais"
txt = "O preço é {:.2f} reais"
print(txt.format(preco))
Formatando de strings
Exemplos:
3) Se você quiser usar mais valores, basta adicionar mais
valores ao método format():
quantidade = 3
itemno = 567
preco = 49
pedido = "Eu quero {} unidades do item {} a {:.2f} reais
cada."
print(pedido.format(quantidade, itemno, preco))
Formatando de strings
Exemplos:
4) Podemos usar números de índice (um número entre chaves
{0}) para garantir que os valores sejam colocados nos espaços
reservados corretos:
quantidade = 3
itemno = 567
preco = 49
pedido = "Eu quero {0} unidades do item {1} a {2:.2f}
reais cada."
print(pedido.format(quantidade, itemno, preco))
Formatando de strings
Exemplos:
5) Podemos usar números de índice (um número entre chaves
{0}) para garantir que os valores sejam colocados nos espaços
reservados corretos: ** Observem a ordem dos parâmetros do método format()
quantidade = 3
itemno = 567
preco = 49
pedido = "Eu quero {1} unidades do item {0} a {2:.2f}
reais cada."
print(pedido.format(itemno, quantidade, preco))
Formatando de strings
Exemplos:
6) É possível referenciar a um mesmo índice mais de uma vez:
quantidade = 3
itemno = 567
preco = 49
pedido = "Eu quero {1} unidades do item {0} a {2:.2f}
reais cada. O valor total será {1} vezes o valor do preço
unitário!"
print(pedido.format(itemno, quantidade, preco))
Formatando de strings
Exemplos:
7) Podemos usar índices nomeados, inserindo um nome entre
chaves {nome}. Ao chamar o método, devemos passar os nomes
como parâmetros do método format() :