Python Ceça Moraes – cecafac@gmail.comcecafac@gmail.com Introdução à Programação SI1.

Post on 22-Apr-2015

110 views 3 download

Transcript of Python Ceça Moraes – cecafac@gmail.comcecafac@gmail.com Introdução à Programação SI1.

Python

Ceça Moraes – cecafac@gmail.com Introdução à Programação

SI1

Conteúdo

• Dicionários–Conceitos–Operações–Métodos– Exercícios

2

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 outro de valor

3

chave valor

chave valor

chave valor

Dicionários

• Um mapeamento é uma generalização da idéia de acessar dados por índices, exceto que, num mapeamento, os índices (ou chaves) podem ser de qualquer tipo–Geralmente strings e inteiros

4

Dicionários

• Dicionários representam outra estrutura de dados interna de Python–Hash tables

• Listas indexadas por inteiros• Dicionários indexados por chaves

(keys), que podem ser de qualquer tipo imutável (como strings e inteiros)

Dicionários

• Têm comprimento variável, são heterogêneos e podem ser aninhados• São delimitados por {}• Lista de pares chave/valor

separados por vírgulas dentro dos delimitadores ({})

Operações

• Criando o dicionário e seus elementos

7

• Inserções em posições aleatórias

Operações

• As chaves dos dicionários não são armazenadas em qualquer ordem específica–Na verdade, dicionários são implementados

por tabelas de espalhamento (Hash Tables)–A falta de ordem é proposital

8

Operações• Modificando elementos

9

Operações• Elementos heterogêneos/removendo elementos

10

Operações

• Listas de chaves e valores

• items() retorna uma lista com todos os pares chave/valor do dicionário

Mais Operações

• Acesso a valores e chaves

12

Métodos

• clear()– Remove todos os elementos do dicionário

13

Métodos

• copy()–Retorna um outro dicionário com os

mesmos pares chave/conteúdo

14

Métodos

• pop(chave)–Obtém o valor correspondente à chave e

remove o par chave/valor do dicionário

15

Métodos

• iteritems()–Possibilita que cada chave/valor sejam

recuperados em um for

16

Métodos

• update(dic)– Atualiza um dicionário com os elementos de outro– Os itens em dic são atualizados ou adicionados um a um

ao dicionário original

17

Mais Operações• Aninhamento

18

Dados

• Utilizado também para criar estruturas usadas em manipulaçao de dados

• Exemplo:– Estruturas de registros

Registros de Dados

20

Matrizes com Dicionários

• Exemplo:

21

Matrizes com Dicionários

• Inicializando uma matriz:

22

Matrizes com Dicionários

• Soma de duas matrizes

23

Matrizes com Dicionários

• Soma de duas matrizes

24

EXERCÍCIOS25

Exercícios

1. Fazer um programa que efetua a multiplicação de duas matrizes de valores inteiros. – O programa deve ler o numero de linhas e colunas

de cada matriz e gerar valores aleatórios para estas.– Ao final, o programa deve imprimir as matrizes

originais e a matriz com a soma das duas anteriores. – Fontes de consulta:• http://pt.wikipedia.org/wiki/Matriz_(matem

%C3%A1tica)#Multiplica.C3.A7.C3.A3o_de_matrizes • http://pt.wikipedia.org/wiki/Produto_de_matrizes

26

Exercícios

2. Crie um dicionário que é uma agenda e coloque nele os seguintes dados: chave, nome, idade, telefone. O programa deve ler um número indeterminado de dados, criar a agenda e imprimir todos os itens do dicionário no formato chave: nome-idade-fone.

27

Exercícios

3. Elabore um algoritmo que preencha uma matriz 4 X 4 de inteiros e depois faça:– Imprimir toda a matriz.– Trocar a segunda linha pela terceira.– Trocar a primeira pela quarta coluna.– Imprimir novamente a matriz

28

Exercícios

4. Elabore um programa que preencha uma matriz 4 X 4 de inteiros e em seguida gere uma lista com a média aritmética de cada uma das linhas da matriz. Escrever a matriz completa e o conteúdo da lista com as médias.

29

Exercícios

5. Faça um algoritmo que preencha uma matriz 3 X 3 de inteiros e escreva:–A matriz completa–A soma dos números ímpares da matriz–A soma dos números pares da matriz

30

Bibliografia Livro “Como pensar como um Cientista de Computação

usando Python” – Capítulo 10 http://pensarpython.incubadora.fapesp.br/portal

Python Tutorial http://www.python.org/doc/current/tut/tut.html

Dive into Python http://www.diveintopython.org/

Python Brasil http://www.pythonbrasil.com.br/moin.cgi/

DocumentacaoPython#head5a7ba2746c5191e7703830e02d0f5328346bcaac 31