MCG126
–
Programação de
Computadores II
Turmas: A e B
Professor: Isac Mendes Lacerda
Bibliografia
Introdução à Programação com Python: algoritmos e lógica de programação para iniciantes Nilo Ney Coutinho Menezes
Conteúdo Prog. 2
1. Revisão
2. Exceção
3. Desempacotamento
4. Datetime
5. Conjunto
Monitoria
•
Nome do Monitor: (Informar depois)
•
E-mail:
•
Local: LIG
Avaliação
•
Prova 1 (P1) - 02/10/17
•
Prova 2 (P2) - 20/11/17
•
Exercícios (E)
Média Final = ((P1*4.5)+(P2*4.5)+(E*1))/10
Material de aula e informações
Strings
• O que é impresso?
Strings
• O que é impresso?
a) tr
b) ps c) nn d) ck
p y t h o n r o c k S
Métodos String
• que é impresso?
Métodos String
• que é impresso?
a) 0 b) 2
c) 3
O método “COUNT” conta o número de
Métodos String
• que é impresso?
Métodos String
• que é impresso?
a) 0
b) -1
c) 1 d) Erro
? p y t h o n
• O que o seguinte código imprime:
a) Nada será impresso b) VERDADEIRO
c) FALSO d) FALSO
Comandos de Condição
• O que o seguinte código imprime:
a) Nada será impresso b) VERDADEIRO
c) FALSO
d) FALSO
VERDADEIRO
Comandos de Condição
Comando
if
O que delimita os comandos em um “if”
Comandos de Repetição
While - break
Comandos de Repetição
While - break
Faça um programa em Python que calcule a soma dos números ímpares entre 1 e um limite superior definido pelo usuário:
Comandos de Repetição
Faça um programa em Python que calcule a soma dos números ímpares entre 1 e um limite superior definido pelo usuário:
Comandos de Repetição
Funções definidas pelo programador
• Porque usar funções?
– Evitar que os blocos do programa fiquem grandes demais,
e por consequência, facilita a leitura e o entendimento
– Separar o programa em partes que possam ser
logicamente compreendidos de forma isolada
– Permitir o reaproveitamento de código já construído
– Evitar que um trecho de código seja repetido várias vezes
Funções definidas pelo programador
•
Exemplos de uso:
Definição da função somaTresNumeros
Funções definidas pelo programador
• Escreva um programa que receba do usuário a base e a altura do triângulo e calcule sua área. Escreva uma função que
Funções definidas pelo programador
• Considere o seguinte código Python. Observe que o número das linhas estão a esquerda. O que é impresso na tela?
Funções definidas pelo programador
• Considere o seguinte código Python. Observe que o número das linhas estão a esquerda. O que é impresso na tela?
a) 25
Variáveis locais e variáveis globais
• O que é impresso por esse programa?
Variáveis locais e variáveis globais
• O que é impresso por esse programa?
a) x = 2 e z = 2 b) x = 0 e z = 2 c) x = 0 e z = 4
Variável x é alterada apenas localmente!
Parâmetros opcionais
• Podemos combinar parâmetros opcionais com obrigatórios
na mesma função
• Mas parâmetros opcionais devem sempre ser os últimos
Listas
• Qual o resultado do seguinte programa?
Listas
• Qual o resultado do seguinte programa?
a) 100
b) 150
For
• Embora a instrução for facilite nosso trabalho, ela não substitui completamente o while. Dependendo do problema, utilizaremos um ou
outro.
• Normalmente utilizaremos for quando quisermos processar os
elementos de uma lista, um a um.
Função Range
>>> ============RESTART =============
>>> 0 1 2 3 4 >>>
>>> ============RESTART =============
Tuplas
• Uma tupla com elementos de diversos tipos:
Strings: Métodos
• replace(antigo, novo, contador) – retorna uma string substituindo
Dicionários
• Dicionários são estruturas de dados que implementam
mapeamentos
• Um mapeamento é uma coleção de associações entre pares
de valores
– O primeiro elemento do par é chamado de chave e o
Dicionários
• Para criar um dicionário vazio, use {}
• Adicionar novos elementos, use []
Dicionários
Dicionários
• Para verificar se uma chave pertence ao dicionário, podemos usar
Dicionários
• Podemos obter o conjunto de chaves do dicionário, ou mesmo
uma lista dos valores associados
• Observe que o retorno dos métodos keys() e values() não são
Dicionários
• Principais características:
1. Acesso ao item
pela chave
e não pelo índice
2. Coleção desordenada
de objetos: não mantêm uma
Dicionários
Percorrendo um dicionário
• Nenhum método é necessário para percorrer um dicionário
Dicionários
Percorrendo um dicionário
• O método values() é usado para percorrer os valores
Dicionários
Percorrendo um dicionário
• O método items() é outra forma de percorrer chaves e
Dicionários: Métodos
get
(
chave, [valor para ausência]
)
–
retorna o valor do par
associado à chave fornecida. Quando a chave não existe é
retornado o conteúdo de
valor para ausência
(se fornecido)
Dicionários
Ordenação
Dicionários
Ordenação
• Mas podemos ordenar as chaves ou valores usando sorted().
• A função sorted() gera uma lista com o resultado da
Dicionários
Percorrendo um dicionário – sorted()
• Imprimindo os itens ordenados pela chave
Dicionários com listas
• Podemos ter dicionários nos quais as chaves são associadas a
listas ou mesmo a outros dicionários.
• Por exemplo, uma relação de estoque de mercadoria onde
Dicionários com listas
O comando for manipula o objeto
Arquivos
• A função open retorna um objeto do tipo file (arquivo).
• É esse objeto que vamos utilizar para ler e escrever os dados no arquivo.
• Utilizamos o método write para escrever dados no arquivo.
• Para ler utilizamos o método read.
Arquivos
• Vamos agora ler o arquivo e imprimir suas linhas na tela:
• O método readlines gera uma lista em que cada elemento é
uma linha do arquivo
Gerando arquivos
Lendo e Escrevendo
• O que faz o programa abaixo?
Principais Métodos de Arquivos
Principais Métodos de Arquivos
Principais Métodos de Arquivos
•
readlines
() - leitura de
todo o conteúdo
do arquivo em
uma
lista
. Cada registro do arquivo será um elemento da
Principais Métodos de Arquivos
•
write
(
string
) -
escreve
a
string
fornecida no arquivo, na
posição atual ou ao final
do arquivo, dependendo do modo
Dicionários
Exercício: Crie uma agenda telefônica.
Leia o arquivo que contém nomes, endereços e telefones e armazene essas informações em um dicionário (com listas). Imprima o dicionário na tela.
O arquivo está no seguinte formato:
John Smith:8809336:Rua do meio 1, Macaé, RJ
Emily Lame:67892345:Rua da praia 200, apto 900, Macaé, RJ Peter Power:7847321: Av. Principal 500, Macaé, RJ