Buscar

aula1 revisão - Python Computação II - Engenharia Mecânica UFRJ

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Computação II
Revisão das Estruturas de Dados estudadas em 
Comp1
 
Strings
 Cadeias de caracteres
 Imutável
 Escritos com aspas simples ou duplas 
– Se começar com uma, termine com a mesma
● “Python” ou 'Python'
● Mas não “Python'
 Concatenadas com o operador “+”
– “Python:” + “muito divertido”
 Melhor lida com raw_input do que input
– Com raw_input não precisa digitar as aspas
 
Strings 
 Índices
– Enderecam caracteres individuais de uma string, 
comecando do índice 0
● linguagem = “Python”
● print linguagem[2]
– t
– O índice 0 corresponde ao primeiro caracter e o 
índice -1 ao último
● -2 ao penúltimo, -3 ao antepenúltimo e assim 
sucessivamente
 
Strings
 Principais operacões
– len(string) – retorna o tamanho de uma string
– String1 in String 2 – retorna True se String1 é uma 
substring de String2
– fatia: retorna uma parte da string 
● print linguagem[1:3]
– 'yt'
string.lower() – converte para minúsculo
– string.upper() – converte para maiúsculo
 
Strings
– String.find('substring',inicio,fim)
● Retorna o índice de 'substring' em 'String'
● Inicio e fim indicam o intervalo de busca e são 
opcionais
– String.replace(stringVelha, stringNova, qtd)
● Substitui a primeira string pela segunda. 
● Caso qtd seja especifica, substitui esse número 
de strings. Caso contrário, substitui todas
 
String
– stringUnidora.join(sequencia)
● Junta a sequência em uma string, usando a 
string unidora entre cada elemento da 
sequência
– string.split(separador)
● separa a string de acordo com o separador.
● Caso não seja especificado o separador, o 
espaco é assumido
 
Strings
– string .strip(caracter)
● Retorna a string sem caracteres iniciais ou finais 
que estejam em `caracter`
● Se caracter não for especificado, retira espacos 
em branco
● rstrip retira caracteres a direita 
● lstrip retira caracteres a esquerda
– String.count(substring)
● Retorna a quantidade de ocorrências de 
substring em String
 
Exercícios
 Escreva programas que: 
– Leia uma string e retorne o número de palavras encontradas:
● a) Considere que serão digitadas apenas letras e sempre 
um único espaço entre palavras
● b) Considere os caracteres ‘.’, ‘,’, ‘;’ como separadores de 
palavras, além do espaço em branco.
● c) Considere que cada palavra pode estar separada por 
um ou mais caracteres de espaço.
– Leia um texto e duas palavras. Substitua todas as ocorrências da 
primeira palavra pela segunda no texto
– Leia uma palavra e verifique se são palíndromas
– Leia uma frase e verifique se a mesma é palíndroma. Por exemplo, 
“Socorram-me, subi no ônibus em Marrocos” é palíndroma. 
Desconsidere caracteres de pontuacão, letras maiúsculas e letras com 
acento.
 
Listas
 Sequência genérica de qualquer tipo de dado
– Podem inclusive ter outras listas como elemento
– Strings são sequências de caracteres
 Indexadas, fatiadas e concatenadas como 
strings
– Mas são mutáveis, diferente das strings
 
Listas
 Principais funcões e métodos
– del lista[indice] – apaga elemento pelo índice
● A lista é alterada
– elemento in lista– verifica se um elemento pertence 
a uma string
– len(lista) – retorna a quantidade de elementos na 
string
– min(lista) – retorna o elemento mínimo na string
– max(lista) – retorna o elemento máximo na string
– range(inicio,fim,incremento) – retorna uma PA em 
uma lista
 
Listas
 Principais funcões e métodos
– lista.append(elemento) – acrescenta um elemento 
no final da lista
– lista.extend(lista2) – acrescenta os elementos de 
lista2 no final de lista
– lista.count(elemento) – retorna a quantidade de 
vezes que o elemento aparece na lista
– lista.index(elemento) – retorna o índice do 
elemento na lista
● Se elemento não está na lista, retorna erro
– lista.insert(indice,elemento) – insere elemento na 
posicão índice na lista
 
Listas
 Principais funcões e métodos
– lista.pop(índice) – remove o elemento que está em 
índice
● Se índice não for informado, apaga o último 
elemento
– lista.remove(elemento) – remove o primeiro 
elemento que corresponde ao parâmetro
● Se elemento não estiver na lista, retorna erro
– lista.reverse() - inverte a lista
– lista.sort() - ordena a lista
 
Exercícios
 Escreva um programa que intercale os 
elementos de duas listas l1 e l2
– Exemplo: para l1 = [1,2,3] e l2 = ['a','b','c','d','e'], o 
programa deve computar a lista 
[1,'a',2,'b',3,'c','d','e']
 Faça um programa que leia uma matriz de segunda or
dem e calcule seu determinante 
# diagonal principal ­ diagonal secundaria
– OBS: uma matriz é apenas uma lista, com os 
elementos sendo outras listas
– Para ler uma lista de listas, use for aninhados
 
Exercícios
 Em uma universidade a fila do bandejão funciona da seguinte forma:
– As filas começam a se formar pela manhã. Até às 11h, horário de abertura do restau-
rante, alunos podem guardar lugar para no máximo 3 outros colegas, depois disso a i
fila é congelada.
 Faça um programa que:
– Leia uma fila de alunos (matrícula) até que seja entrada uma matrícula negativa (às 
11h).
– Imprima a final inicial.
– Para cada aluno, pergunte para quantas pessoas ele está guardando lugar na fila e  
se ele irá continuar na fila (para esta pergunta ele deverá responder ‘S’ ou ‘N’). Leia 
a matrícula dos alunos a serem inseridos e remova aqueles que vão sair da fila.
– Imprima a fila final, de acordo com  ordem de chegada.
– Imprima um relatório ordenado por matrícula dos alunos que usaram o bandejão.
– Use uma única fila!!!
 
Dicionários
 Suponha que precisamos representar uma agenda de telefones em Python
– Qual estrutura de dados você usaria?
 Uma solução é ter uma lista de nomes e outra de telefones, onde o índice 
para o par (nome,telefone) é o mesmo em ambas as listas
– Telefone de nome[i] armazenado em telefone[i]
– Acrescentar “Joao” com telefone “2012-2232”:
● nome+=“Joao”
● telefone+=“2012-2232”
– Para encontrar o telefone de “Joao”:
● tel = telefone[nome.index[“Joao”]]
● Parece complicado...
 Dicionários tornam isso mais fácil e eficiente
 telefone[“Joao”] = “20122232”
 tel = telefone[“Joao”]
 
Dicionários
 Dicionários implementam mapeamentos entre pares 
de valores
– O primeiro elemento do par é a chave e o segundo é o 
conteúdo
– dicionario = {chave1:conteúdo1,...,chaveN:conteúdoN} 
– No Python, a chave deve ser uma string ou valor 
númerico e o conteúdo pode ser qualquer coisa
 Variáveis são acessadas com colchete, mas o “índice” 
agora é a chave e não uma posicão
 Novos elementos são acrescentados atribuindo um 
valor a um conteúdo (e alterados também)
– agenda[“Maria”] = “2349-9877”
 
Dicionários
 Não há ordem definida entre os pares chave/conteúdo 
de um dicionário
>>> meses = {"janeiro":31, "fevereiro":28, "marco":31, "abril":30, "maio":31, 
"junho":30, "julho":31, "agosto":31, "setembro":30, "outubro":31, "novembro":31, 
"dezembro":31 }
>>> for i in meses: print i, meses[i]
novembro 31
marco 31
julho 31
agosto 31
fevereiro 28
junho 30
dezembro 31
janeiro 31
abril 30
...
 
Dicionários
 Principais funções e métodos
– chave in dicionário – retorna True se existir a chave 
 no dicionário
– len(dicionário) – quantos pares estão no dicionário
– dicionário.keys() - retorna uma lista com todas as 
chaves do dicionário
– dicionário.values() - retorna uma lista com todas os 
valores de conteúdo do dicionário
– dicionário.has_key(chave) - Verifica se a chave 
está na dicionário (apenas em Python 2.7)
 
Dicionários
– dicionário.pop(chave) – remove o par 
chave/conteúdo do dicionário
– dicionário.update(dicionário2)– atualiza dicionário 
com os elementos de dicionário2
 
Exercício
 Uma estação meteorológica registra a temperatura ocorrida em uma cidade 
a cada hora. Faça um programa que:
– Leia as temperaturas de uma semana no seguinte formato:
● dia, hora, temperatura. 
– A leitura termina com um dia inválido.
– Use um dicionário cuja chave são os dias da semana. Cada dia da 
semana deve ser mapeado para um outro dicionário, que por sua vez 
mapeia horas em temperaturas.
– O programa deve imprimir a maior temperatura para cada dia da 
semana.
– O programa deve informar para cada hora consultada, a maior 
temperatura ocorrida na semana, enquanto um valor de hora for válido
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20

Outros materiais