O documento descreve as principais características e funcionalidades de listas em Python, incluindo: (1) listas podem conter valores de diferentes tipos; (2) suportam acesso seqüencial e direto por índice; e (3) operações como indexação, fatiamento, concatenação e repetição.
Listas são estruturas de dados que permitem armazenar e acessar sequencialmente uma coleção de elementos de qualquer tipo. Em Python, listas podem ser criadas usando colchetes e suportam operações como indexação, fatiamento, concatenação e repetição de elementos. Listas são objetos mutáveis que oferecem métodos para adicionar, remover e ordenar elementos.
O documento apresenta uma agenda para um minicurso de programação. A agenda inclui tópicos sobre tipos de dados como strings e listas, operações nesses tipos, estruturas de controle de fluxo como if/else e for, e exercícios para implementar funções sobre strings e listas.
O documento descreve as listas em Python como uma estrutura de dados flexível que pode ser usada para organizar e acessar dados de maneira sequencial. As listas em Python suportam acesso por índice e fatias, além de operações como concatenação e repetição. Métodos úteis incluem append(), count(), index() e sort().
Tuplas e strings são estruturas de dados importantes em Python. Tuplas são semelhantes a listas mas imutáveis, enquanto strings podem ser manipuladas usando diversos métodos como find, join, lower, upper, replace, split, strip e translate.
Este documento discute listas em Python. Ele explica que listas em Python podem ser usadas como listas ou arrays, permitindo acesso sequencial e direto através de índices. O documento também descreve operações básicas em listas como indexação, fatiamento, concatenação, repetição, inserção e remoção de elementos.
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonDiogo Gomes
O documento apresenta uma introdução ao workshop de Python realizado na IEEE Week '17. Apresenta brevemente conceitos fundamentais da linguagem como variáveis, funções, listas, dicionários e operações com strings. Explica também como ler e processar dados de ficheiros e da internet usando bibliotecas como urllib e json.
O documento discute programação com arrays em Java, abordando tópicos como: 1) declarar e criar arrays unidimensionais e multidimensionais; 2) acessar elementos de arrays; e 3) determinar o número de elementos em um array.
1) O documento apresenta um programa de treinamento em programação funcional em Haskell, abordando tópicos como módulos, funções de ordem superior, e o desafio de implementar a cifra de César em Haskell.
2) São apresentadas funções como map, filter, foldr que mapeiam, filtram e dobram listas, respectivamente. Também são explicadas funções de composição e predicados com all e any.
3) Como desafio, o aluno deve implementar em Haskell a cifra de César, um método simples de criptograf
Listas são estruturas de dados que permitem armazenar e acessar sequencialmente uma coleção de elementos de qualquer tipo. Em Python, listas podem ser criadas usando colchetes e suportam operações como indexação, fatiamento, concatenação e repetição de elementos. Listas são objetos mutáveis que oferecem métodos para adicionar, remover e ordenar elementos.
O documento apresenta uma agenda para um minicurso de programação. A agenda inclui tópicos sobre tipos de dados como strings e listas, operações nesses tipos, estruturas de controle de fluxo como if/else e for, e exercícios para implementar funções sobre strings e listas.
O documento descreve as listas em Python como uma estrutura de dados flexível que pode ser usada para organizar e acessar dados de maneira sequencial. As listas em Python suportam acesso por índice e fatias, além de operações como concatenação e repetição. Métodos úteis incluem append(), count(), index() e sort().
Tuplas e strings são estruturas de dados importantes em Python. Tuplas são semelhantes a listas mas imutáveis, enquanto strings podem ser manipuladas usando diversos métodos como find, join, lower, upper, replace, split, strip e translate.
Este documento discute listas em Python. Ele explica que listas em Python podem ser usadas como listas ou arrays, permitindo acesso sequencial e direto através de índices. O documento também descreve operações básicas em listas como indexação, fatiamento, concatenação, repetição, inserção e remoção de elementos.
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonDiogo Gomes
O documento apresenta uma introdução ao workshop de Python realizado na IEEE Week '17. Apresenta brevemente conceitos fundamentais da linguagem como variáveis, funções, listas, dicionários e operações com strings. Explica também como ler e processar dados de ficheiros e da internet usando bibliotecas como urllib e json.
O documento discute programação com arrays em Java, abordando tópicos como: 1) declarar e criar arrays unidimensionais e multidimensionais; 2) acessar elementos de arrays; e 3) determinar o número de elementos em um array.
1) O documento apresenta um programa de treinamento em programação funcional em Haskell, abordando tópicos como módulos, funções de ordem superior, e o desafio de implementar a cifra de César em Haskell.
2) São apresentadas funções como map, filter, foldr que mapeiam, filtram e dobram listas, respectivamente. Também são explicadas funções de composição e predicados com all e any.
3) Como desafio, o aluno deve implementar em Haskell a cifra de César, um método simples de criptograf
O sistema de numeração decimal utiliza os algarismos de 0 a 9 para representar quantidades. É agrupado de 10 em 10, com cada algarismo tendo um valor determinado pela sua posição. Isso permite escrever e ler números de forma estruturada.
O documento resume as principais características e funcionalidades de listas em Python, incluindo como criar e acessar itens de lista, obter sub-listas e o tamanho de uma lista, alterar valores, concatenar e repetir listas, imprimir valores usando loops, verificar existência de valores e atribuição múltipla. Também descreve métodos comuns em listas como index(), append(), insert(), remove() e sort().
Este documento apresenta uma introdução às listas em Haskell, cobrindo tópicos como:
1) Fundamentos sobre listas e sua representação em Haskell usando cabeça e corpo;
2) Operador (:) para construção de listas;
3) Listas por compreensão e funções sobre listas como length, head, tail entre outras.
O documento apresenta funções do PHP para manipulação de strings, incluindo funções para transformar caixa de texto, remover espaços, escapar caracteres, dividir strings, criptografar senhas, formatar números e substituir texto. É ensinado como fazer upload de arquivos e manipular arrays resultantes no PHP.
O documento apresenta as credenciais e especialidades de Jhonathan Davi, incluindo seu trabalho como pesquisador de segurança e desenvolvedor Python. Em seguida, fornece uma introdução à linguagem Python, destacando suas principais características, tipos de dados, estruturas de controle e desafios.
Este documento fornece um resumo sobre arrays no PHP. Ele discute arrays indexados versus associativos, como identificar e armazenar elementos em arrays, arrays multidimensionais, extrair múltiplos valores, percorrer e ordenar arrays.
O documento fornece instruções passo-a-passo para preparar e importar dados de riqueza de espécies para os softwares EstimateS e Statistica, incluindo organizar os dados no Excel, formatar a planilha para o EstimateS, executar estimativas e exportar os resultados para o Statistica para análises estatísticas e criação de gráficos.
O documento discute tuplas e strings em Python. Tuplas são semelhantes a listas mas imutáveis, enquanto strings podem ser manipuladas usando diversos métodos como find(), join(), lower(), upper() entre outros. O documento também explica como formatar strings usando o operador % e como construir tabelas de tradução para substituir caracteres em strings.
O documento explica o sistema de numeração decimal brasileiro, no qual os números são agrupados em classes de milhares e unidades simples, usando 10 algarismos em posições que determinam seu valor.
Este documento apresenta uma aula sobre Python, abordando: 1) revisão dos conceitos básicos da linguagem; 2) exemplo de programa que calcula a média de notas de alunos; 3) uso de funções como input e convertendo strings para números; 4) desafio da aula anterior para ordenar nomes digitados.
Este documento apresenta uma introdução à linguagem de programação Python 2.7. Resume os principais pontos sobre a origem e criador da linguagem, suas características e tipos de dados suportados, como listas, dicionários, strings e números. Também explica brevemente sobre compilação versus interpretação e os operadores e métodos dos principais tipos de dados.
O documento discute entrada e saída em arquivos no Python, incluindo: 1) arquivos padrão sys.stdin, sys.stdout e sys.stderr; 2) abertura, leitura e escrita em arquivos com o objeto file; 3) convenções de fim de linha e pickling para armazenar dados.
O documento descreve as características do sistema de numeração decimal, incluindo que ele usa os algarismos de 0 a 9 e que cada posição tem um valor diferente. Também fornece exemplos de como ler e decompor números nesse sistema.
O documento descreve técnicas de hashing para busca em tabelas, incluindo: (1) a função de hash mapeia chaves de busca em índices de tabela para facilitar a busca; (2) colisões ocorrem quando chaves mapeiam para a mesma posição e devem ser resolvidas; (3) tabelas dinâmicas melhoram o desempenho aumentando o tamanho da tabela quando necessário.
O documento discute funções em Python, explicando que elas permitem dividir um problema em subproblemas menores. Detalha como definir funções, passar e receber argumentos, escopo de variáveis, documentação de funções e outros conceitos relacionados a programação estruturada em Python.
Arrays são variáveis que podem armazenar múltiplos valores acessados por chaves numéricas ou strings. Loops permitem percorrer arrays item por item para verificar condições e realizar ações com cada valor. Um foreach é usado para imprimir apenas os valores dos alunos no array $nome, excluindo o valor do instrutor.
Os principais tipos de dados suportados pelo mySQL para armazenamento de strings, numéricos e datas são descritos no documento. Strings podem ser armazenadas usando CHAR, VARCHAR, TINYBLOB entre outros e ocupam espaço de 1 a 8 bytes dependendo do tipo e tamanho. Números podem ser armazenados usando TINYINT, SMALLINT, INT e outros e ocupam de 1 a 8 bytes. Datas podem ser armazenadas usando DATE, DATETIME e TIMESTAMP e ocupam de 1 a 8 bytes.
Este documento descreve as tabelas hash, incluindo:
1) Uma tabela hash mapeia chaves para valores usando uma função hash;
2) Funções hash mapeiam chaves para índices de uma tabela para permitir buscas rápidas;
3) Colisões ocorrem quando chaves diferentes mapeiam para o mesmo índice e devem ser tratadas.
Este documento descreve o uso de arrays em JavaScript. Explica que arrays permitem armazenar múltiplas unidades de informação de forma lógica e acessível, ao contrário de variáveis individuais. Detalha operações básicas com arrays como declaração, escrita, leitura e utilização de loops para percorrer elementos. Apresenta também propriedades e métodos úteis dos arrays como length e push().
Aula - Estruturas de Dados em Python (Curso de Python Básico -- FATEC SENAI M...Filipe Chagas Ferraz
O documento apresenta as principais estruturas de dados em Python: listas, tuplas, conjuntos e dicionários. Listas armazenam objetos sequencialmente e permitem acesso por índice. Tuplas são imutáveis como listas. Conjuntos armazenam objetos de forma não ordenada e sem repetições. Dicionários mapeiam chaves para valores.
O documento discute listas em Python. Ele explica que listas são uma estrutura de dados que permite armazenar e acessar sequencialmente diversos tipos de dados. Detalha como listas podem ser criadas, indexadas, fatiadas, concatenadas e como seus elementos podem ser modificados ou removidos. Também apresenta funções como len(), min(), max() e range() que operam com listas.
O sistema de numeração decimal utiliza os algarismos de 0 a 9 para representar quantidades. É agrupado de 10 em 10, com cada algarismo tendo um valor determinado pela sua posição. Isso permite escrever e ler números de forma estruturada.
O documento resume as principais características e funcionalidades de listas em Python, incluindo como criar e acessar itens de lista, obter sub-listas e o tamanho de uma lista, alterar valores, concatenar e repetir listas, imprimir valores usando loops, verificar existência de valores e atribuição múltipla. Também descreve métodos comuns em listas como index(), append(), insert(), remove() e sort().
Este documento apresenta uma introdução às listas em Haskell, cobrindo tópicos como:
1) Fundamentos sobre listas e sua representação em Haskell usando cabeça e corpo;
2) Operador (:) para construção de listas;
3) Listas por compreensão e funções sobre listas como length, head, tail entre outras.
O documento apresenta funções do PHP para manipulação de strings, incluindo funções para transformar caixa de texto, remover espaços, escapar caracteres, dividir strings, criptografar senhas, formatar números e substituir texto. É ensinado como fazer upload de arquivos e manipular arrays resultantes no PHP.
O documento apresenta as credenciais e especialidades de Jhonathan Davi, incluindo seu trabalho como pesquisador de segurança e desenvolvedor Python. Em seguida, fornece uma introdução à linguagem Python, destacando suas principais características, tipos de dados, estruturas de controle e desafios.
Este documento fornece um resumo sobre arrays no PHP. Ele discute arrays indexados versus associativos, como identificar e armazenar elementos em arrays, arrays multidimensionais, extrair múltiplos valores, percorrer e ordenar arrays.
O documento fornece instruções passo-a-passo para preparar e importar dados de riqueza de espécies para os softwares EstimateS e Statistica, incluindo organizar os dados no Excel, formatar a planilha para o EstimateS, executar estimativas e exportar os resultados para o Statistica para análises estatísticas e criação de gráficos.
O documento discute tuplas e strings em Python. Tuplas são semelhantes a listas mas imutáveis, enquanto strings podem ser manipuladas usando diversos métodos como find(), join(), lower(), upper() entre outros. O documento também explica como formatar strings usando o operador % e como construir tabelas de tradução para substituir caracteres em strings.
O documento explica o sistema de numeração decimal brasileiro, no qual os números são agrupados em classes de milhares e unidades simples, usando 10 algarismos em posições que determinam seu valor.
Este documento apresenta uma aula sobre Python, abordando: 1) revisão dos conceitos básicos da linguagem; 2) exemplo de programa que calcula a média de notas de alunos; 3) uso de funções como input e convertendo strings para números; 4) desafio da aula anterior para ordenar nomes digitados.
Este documento apresenta uma introdução à linguagem de programação Python 2.7. Resume os principais pontos sobre a origem e criador da linguagem, suas características e tipos de dados suportados, como listas, dicionários, strings e números. Também explica brevemente sobre compilação versus interpretação e os operadores e métodos dos principais tipos de dados.
O documento discute entrada e saída em arquivos no Python, incluindo: 1) arquivos padrão sys.stdin, sys.stdout e sys.stderr; 2) abertura, leitura e escrita em arquivos com o objeto file; 3) convenções de fim de linha e pickling para armazenar dados.
O documento descreve as características do sistema de numeração decimal, incluindo que ele usa os algarismos de 0 a 9 e que cada posição tem um valor diferente. Também fornece exemplos de como ler e decompor números nesse sistema.
O documento descreve técnicas de hashing para busca em tabelas, incluindo: (1) a função de hash mapeia chaves de busca em índices de tabela para facilitar a busca; (2) colisões ocorrem quando chaves mapeiam para a mesma posição e devem ser resolvidas; (3) tabelas dinâmicas melhoram o desempenho aumentando o tamanho da tabela quando necessário.
O documento discute funções em Python, explicando que elas permitem dividir um problema em subproblemas menores. Detalha como definir funções, passar e receber argumentos, escopo de variáveis, documentação de funções e outros conceitos relacionados a programação estruturada em Python.
Arrays são variáveis que podem armazenar múltiplos valores acessados por chaves numéricas ou strings. Loops permitem percorrer arrays item por item para verificar condições e realizar ações com cada valor. Um foreach é usado para imprimir apenas os valores dos alunos no array $nome, excluindo o valor do instrutor.
Os principais tipos de dados suportados pelo mySQL para armazenamento de strings, numéricos e datas são descritos no documento. Strings podem ser armazenadas usando CHAR, VARCHAR, TINYBLOB entre outros e ocupam espaço de 1 a 8 bytes dependendo do tipo e tamanho. Números podem ser armazenados usando TINYINT, SMALLINT, INT e outros e ocupam de 1 a 8 bytes. Datas podem ser armazenadas usando DATE, DATETIME e TIMESTAMP e ocupam de 1 a 8 bytes.
Este documento descreve as tabelas hash, incluindo:
1) Uma tabela hash mapeia chaves para valores usando uma função hash;
2) Funções hash mapeiam chaves para índices de uma tabela para permitir buscas rápidas;
3) Colisões ocorrem quando chaves diferentes mapeiam para o mesmo índice e devem ser tratadas.
Este documento descreve o uso de arrays em JavaScript. Explica que arrays permitem armazenar múltiplas unidades de informação de forma lógica e acessível, ao contrário de variáveis individuais. Detalha operações básicas com arrays como declaração, escrita, leitura e utilização de loops para percorrer elementos. Apresenta também propriedades e métodos úteis dos arrays como length e push().
Aula - Estruturas de Dados em Python (Curso de Python Básico -- FATEC SENAI M...Filipe Chagas Ferraz
O documento apresenta as principais estruturas de dados em Python: listas, tuplas, conjuntos e dicionários. Listas armazenam objetos sequencialmente e permitem acesso por índice. Tuplas são imutáveis como listas. Conjuntos armazenam objetos de forma não ordenada e sem repetições. Dicionários mapeiam chaves para valores.
O documento discute listas em Python. Ele explica que listas são uma estrutura de dados que permite armazenar e acessar sequencialmente diversos tipos de dados. Detalha como listas podem ser criadas, indexadas, fatiadas, concatenadas e como seus elementos podem ser modificados ou removidos. Também apresenta funções como len(), min(), max() e range() que operam com listas.
Este documento apresenta uma aula teórica sobre manipulação de strings, tuplas e listas em Python. Inclui exemplos de funções para manipular strings como upper(), lower() e count(), além de explicar conceitos sobre tuplas como imutabilidade e operações como indexação e fatiamento. Por fim, explica sobre listas, incluindo que são mutáveis e podem ter elementos de diferentes tipos.
Este documento apresenta uma introdução à linguagem de programação Python. Cobre tópicos como downloads, material de apoio, tipos de dados como strings, listas, dicionários, funções, arquivos e mais. Apresenta exemplos de código para ilustrar o uso dessas estruturas e conceitos.
Este documento apresenta um resumo sobre listas encadeadas. As principais ideias apresentadas são:
1) Listas encadeadas são uma estrutura de dados recursiva na qual os elementos são ligados uns aos outros através de ponteiros, permitindo adicionar elementos dinamicamente sem preocupar com o tamanho da memória;
2) As operações sobre listas encadeadas geralmente são implementadas de forma recursiva, tratando casos triviais e reduzindo o problema a subproblemas menores;
3) Exemplos de operações comuns como tamanho, busca e inserção
Pymordida0 Semana de computação da SOCIESC - 2008/10Marco Mendes
O documento apresenta uma introdução ao Python, abordando tópicos como:
- Blocos de código por indentação
- Tipos de dados básicos como números, strings, listas e dicionários
- Operadores e funções com esses tipos de dados
- Listas comprehensions para gerar listas de forma concisa
1) O documento introduz a linguagem R, abordando sua história, instalação, editores de texto, manipulação de objetos, entrada e saída de dados, e distribuições de probabilidade.
2) São apresentados conceitos sobre modos e atributos de objetos no R, como vetores, matrizes, listas e data frames.
3) O documento também explica a importação e exportação de dados, e como gerar gráficos e saídas em diferentes formatos a partir do R.
Este documento apresenta uma introdução aos principais tipos de dados em Python, incluindo números, strings, listas, tuplas, conjuntos, dicionários e funções como map, filter e reduce. Demonstra como manipular esses tipos de dados com exemplos de inicialização, iteração, ordenação, filtragem e redução.
Programando em python tuplas e stringssamuelthiago
O documento discute tuplas e strings em Python. Tuplas são semelhantes a listas mas imutáveis, enquanto strings podem ser manipuladas usando métodos como find(), join(), lower(), upper() e split(). O documento também explica como formatar strings usando tuplas com o operador %.
Lua é uma linguagem de script dinâmica criada em 1993 no Brasil para ser usada inicialmente em projetos da Petrobras. Desde então, Lua tem sido amplamente utilizada no desenvolvimento de jogos, aplicativos móveis e sistemas embarcados por ser leve, rápida e ter uma curva de aprendizado fácil. O documento descreve a história, aplicações, características e sintaxe básica da linguagem Lua.
(1) O documento apresenta o TAD (Tipo Abstrato de Dados) listas estáticas encadeadas, que implementam listas encadeadas usando vetores e cursores para simular ponteiros. (2) As operações como inserção e remoção têm complexidade O(1), diferentemente de listas encadeadas normais que têm O(n). (3) A pesquisa de elementos na lista segue os cursores "prox" de cada nó, independentemente da posição real no vetor.
Este documento apresenta uma introdução à programação com a linguagem Python. Ele está dividido em quatro partes principais: (1) introdução à sintaxe e tipos de dados básicos em Python, (2) estruturas de dados adicionais como dicionários e orientação a objetos, (3) programação funcional e módulos, e (4) bibliotecas e aplicações interessantes. A primeira parte cobre tópicos como listas, tuplas, funções e construções condicionais e iterativas.
O documento apresenta um minicurso básico de Python com o seguinte conteúdo: introdução à linguagem Python, estruturas de controle e repetição, tipos básicos de dados, funções e arquivos. O cronograma inclui exemplos de como usar if/else, while, for, listas, tuplas, dicionários, funções, números aleatórios e leitura/escrita em arquivos.
1. O documento descreve operações básicas em Python como variáveis, entrada e saída de dados, e estruturas condicionais IF.
2. Variáveis armazenam valores e tipos de dados como inteiros, floats e strings. Comandos como print exibem saídas e input permitem entrada de dados do usuário.
3. Estruturas IF executam blocos de código condicionalmente dependendo de expressões booleanas, permitindo diferentes fluxos de execução.
Este documento apresenta um curso introdutório sobre Python. Ele inclui seções sobre blocos, controle de fluxo, funções, tratamento de exceções, estruturas de dados como listas e dicionários, e módulos. O documento fornece exemplos de código Python para ilustrar os principais conceitos da linguagem.
O documento apresenta 9 exercícios sobre listas em Python. Os exercícios envolvem funções para manipular listas como remover elementos repetidos, somar valores, contar caracteres e palavras em strings, e ordenar lista. Há também exercícios sobre simulação de sistema de mesas em restaurante.
Curso de python capítulo 1 - introduçãoRicardo Fahham
Este capítulo introduz conceitos básicos de Python como tipos de dados, operadores matemáticos, variáveis, listas e loops. Mostra exemplos de como executar cálculos, criar e utilizar variáveis e listas para resolver problemas como conversão de moedas.
O documento descreve as principais características e funcionalidades de dicionários em Python. Dicionários são estruturas de dados que mapeiam chaves a valores, permitindo acessar dados de forma mais eficiente do que listas. O documento explica como criar, modificar e acessar dados em dicionários, bem como métodos úteis como get, items e update.
1) O documento discute conceitos básicos de programação em Python como variáveis, atribuição, entrada e saída de dados, operadores e estruturas de controle como if/else e loops.
2) Inclui dicas sobre escolha de nomes de variáveis, teste de código e uso de debuggers.
3) Apresenta exemplos de uso de loops for e while para repetir comandos um número fixo ou variável de vezes.
O documento apresenta os comandos de repetição em Python, especialmente o comando while. Explica como usar while para repetir uma sequência de comandos enquanto uma expressão booleana for verdadeira e dá exemplos de cálculo da série de Fibonacci e impressão de números. Também discute laços infinitos e apresenta exercícios para praticar while.
O documento discute conjuntos em Python, definindo-os como coleções de valores distintos. Ele explica como implementar conjuntos usando listas, dicionários ou o tipo built-in set, e descreve vários métodos para trabalhar com conjuntos, como adicionar elementos, verificar interseção e diferença entre conjuntos.
O documento descreve a biomassa como uma fonte renovável de energia proveniente de matéria orgânica animal ou vegetal. Apresenta informações sobre a disponibilidade global e uso atual da biomassa, bem como seu potencial para geração de eletricidade no Brasil, principalmente a partir do bagaço de cana-de-açúcar.
Este documento fornece uma introdução aos principais comandos e construções da linguagem de programação Python. Ele explica como escrever programas simples usando comandos como print, input, while, if, e como armazenar programas em arquivos para execução. Dois exemplos de exercícios são fornecidos para demonstrar o uso de if/else e loops while para testar primalidade de números.
O documento descreve os tipos básicos em Python, incluindo:
1) Python pode ser usado como uma calculadora, com operadores como +, -, *, / e %.
2) Existem diferentes tipos de dados como números inteiros, floats, strings e boolenos.
3) Variáveis armazenam valores e tipos de dados dinamicamente.
Este documento discute a estrutura e propriedades da matéria nos estados sólido e cristalino. Explica que os materiais cristalinos possuem átomos organizados em uma estrutura tridimensional periódica, enquanto os materiais amorfos não possuem essa ordem a longas distâncias. Também descreve as principais estruturas cristalinas como CFC, CCC e HCP e como afetam propriedades como densidade e coordenação dos átomos.
(1) Uma função f pertence a L1(μ) se e somente se a função t → μ(x: |f(x)| > t) for integrável em relação à medida de Lebesgue. Além disso, a integral de |f| é igual ao limite da integral da função indicatriz sobre os conjuntos {|f| > t}.
(2) Se A tem medida maior que 1, então existem pontos distintos x, y em A cujo vetor x - y tem coordenadas inteiras.
(3) Todo conjunto convexo em Rn é Lebesgue mensurável
1. Python:Python:
listaslistas
Rodrigo de Toledo
(adaptação do original do prof. Claudio Esperança)
Estruturas de dados
• Maneira de organizar dados de maneira a facilitar seu acesso
• Algumas formas são clássicas:
– Listas
– Arrays (vetores e matrizes)
– Tuplas (registros)
– Árvores
• Linguagens freqüentemente possuem primitivas para construção
dessas estruturas de dados
• Outras estruturas de dados mais complexas podem ser construídas
combinando as estruturas de dados clássicas
Listas em Python
• São variáveis que podem conter simultaneamente mais de um
valor, inclusive de diferentes tipos
– lista = [1, 'a', 'Rodrigo', 3.1415]
• Na verdade, pode ser vista como uma implementação tanto de
listas como de arrays
Além de acesso seqüencial, suportam também acesso direto através– Além de acesso seqüencial, suportam também acesso direto através
de índices
• Listas são variedades de seqüências assim como strings e portanto
têm APIs semelhantes
– Podem ser indexadas e fatiadas
– Podem ser concatenadas (+) e repetidas
Listas em Python
• Entretanto, há diferenças importantes entre listas
e strings
– Seqüência genérica X de seqüência de caracteres
– Elementos de listas podem ser alterados
individualmente mas os de strings, nãoindividualmente mas os de strings, não
• Listas constituem o tipo de agregação de dados
mais versátil e comum da linguagem Python
– Podem ser usadas para implementar estruturas de
dados mais complexas como matrizes e árvores, por
exemplo
2. Listas: constantes e índices
• Uma constante do tipo lista é escrita entre
colchetes com os elementos separados por
vírgula:
[] # lista vazia
[1,2] # lista com 2 elementos
• Os elementos de uma lista podem ser de
qualquer tipo, inclusive listas. Ex.:
lista = [1, 'a', 'Rodrigo', 3.1415]
• Os elementos de uma lista podem ser acessados
por índices como strings
– O primeiro elemento tem índice 0
– O último elemento tem índice -1
Listas: constantes e índices
>>> lista = [1, 'a', 'Rodrigo', 3.1415]
>>> lista [0]
1
>>> lista [2]
'Rodrigo'
>>> lista [3]
3.1415
>>> lista [-1]
3.1415
>>> lista [0] = 2
>>> lista
[2, 'a', 'Rodrigo', 3.1415]
Listas: Concatenação e Repetição
• O operador + pode ser usado para
concatenação e o operador * para repetição
>>> lista = [0]*4
>>> lista>>> lista
[0, 0, 0, 0]
>>> lista = lista + [1]*3
>>> lista
[0, 0, 0, 0, 1, 1, 1]
Inicializando listas
• Não é possível atribuir a uma posição
inexistente de uma lista
>>> vetor = []
>>> vetor [0] = 1
Traceback (most recent call last):
File "<pyshell#21>", line 1, in -toplevel-
vetor [0] = 1vetor [0] = 1
IndexError: list assignment index out of range
• Se uma lista vai ser usada como um array, isto
é, vai conter um número predeterminado de
elementos, é conveniente iniciá-la
>>> vetor = [0]*10
>>> vetor [0] = 3
>>> vetor
[3, 0, 0, 0, 0, 0, 0, 0, 0, 0]
3. Exemplo
• Faça um programa que leia 15 números e os imprima e ordem
inversa a qual foram lidos.
lista=[0]*15
i=0i=0
while (i<15):
lista[i]=input()
i+=1
i=1
while (i<=15):
print lista[-i]
i+=1
Exercícios
1. Faça um programa que leia as notas dos 50 alunos de uma turma e diga ao final quais notas
ficaram acima da média da turma.
2. (vetor contador):
Faça um programa que leia diversos votos para 100 candidatos (votos entre 0 e 99) e ao final
diga qual foi o candidato vencedor (considere que não há empate). Os votos terminam com
um número inválido (negativo ou maior que 99). Obs: Altere o programa de modo a
considerar a possibilidade de empates.
3. Escreva um programa que leia uma lista de x inteiros seguida de uma lista de y caracteres,
criando uma terceira lista que intercale os elementos das duas listas lidas
– obs1: pergunte ao usuário x e y no início– obs1: pergunte ao usuário x e y no início
– obs2: a lista que for maior deverá ser repetida sequencialmente ao final
– Exemplo: x=3, y=5, 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']
4. DESAFIO:
Faça um programa que leia as informações dos 70 produtos de uma farmácia (código, preço
e quantidade em estoque). Em seguida permita ao usuário entrar com código e quantidade
que deseja comprar do produto até que seja entrado o código –1. Para cada código entrado
diminua a quantidade do estoque (caso tenha o suficiente) se o código for válido, senão
imprima mensagem de erro. Ao final da compra, diga o total a ser pago!
Sobre o desafio...
• Para realizar o desafio anterior, entender os
conceitos de:
– um único índice para diversos vetores
– busca do índice– busca do índice
• No futuro será mais fácil tratar esse desafio:
– index()
– tuplas
Outros exercícios
1. Faça um programa que leia um conjunto de notas (nota - tipo
inteiro) de 20 alunos (uma nota por aluno) e imprima quantas
notas iguais a 0, iguais a 1, iguais a 2, ... e iguais a 10.
2. Faça um programa que leia 100 valores reais da entrada e
identifique o valor mais próximo da média. Exemplo supondo
quatro valores:quatro valores:
2.5 7.5 10.0 4.0
média = 6.0 (não deve ser impresso)
valor mais próximo da média = 7.5 (resultado a ser impresso)
3. Faça um programa que conte a quantidade de cada uma das letras
(sem levar em conta as maiúsculas e minúsculas) digitadas em um
texto (vetor de 26 posições).
4. Lista de tamanho indefinido
Lista de tamanho indefenido
• Às vezes não sabemos em tempo de
programação qual deve ser o tamanho da lista
(exemplo: “leia 50 notas” ≠ “leia notas até uma
negativa”).
• Nesse caso a lista deve ir crescendo (ou• Nesse caso a lista deve ir crescendo (ou
diminuindo) de acordo com a necessidade.
• Precisaremos de:
– len: para saber tamanho do vetor
– del: para retirar um elemento da lista
– append: para acrescentar
Deletando elementos
• O operador del pode ser usado para remover
elementos de uma lista
• Ex.:
>>> lista
[11, 22, 33, 'Rodrigo'][11, 22, 33, 'Rodrigo']
>>> del lista [2]
>>> lista
[11, 22, 'Rodrigo']
>>> del lista [2]
>>> lista
[11, 22]
Len, min e max
• len (lista) retorna o número de elementos de lista
• min (lista) e max (lista) retornam o menor/maior
elemento de lista
• Ex.:
>>> lista = [55, 1, 22, 99, 3, 4]>>> lista = [55, 1, 22, 99, 3, 4]
>>> min (lista)
1
>>> len (lista)
6
>>> max (lista)
99
>>> max (['a', 'b', 'c'])
'c'
5. min e max
• Na verdade, min e max podem ser usados
também com vários argumentos ao invés de uma
lista
• Ex.:Ex.:
>>> min (1,2,3,4)
1
>>> max (3,4,5)
5
>>> max ([],[1],['a'])
['a']
Método APPEND
• append(elemento)
– Acrescenta o elemento no fim da lista
– Observe que a operação altera a lista, e não
simplesmente retorna uma lista modificada
– Ex.:
>>> lista = [1,2]
>>> lista.append(3)
>>> lista
[1, 2, 3]
Exemplo
• Leia uma sequência de números INTEIROS positivos terminada por um
número NEGATIVO, guardando-os num vetor. Remova do vetor os
números PARES. Ao final, imprima o vetor!
lista = []
num = input()
while (num>=0):
lista.append(num)lista.append(num)
num=input()
i=0
while i<len(lista):
if lista[i]%2==0:
del lista[i]
else:
i+=1
print lista
Exercícios
1. Faça o programa do jogo: “Acerte os números”.
– Inicialmente, leia diversos números inteiros entrados pelo dono da casa de aposta, guardando
numa lista.
• Termina com número negativo
– Em seguida o apostador poderá entrar com vários números para verificar o seu acerto.
• Caso acerte um dos números da lista, informe do acerto e diga quantos números faltam acertar.
• O programa termina caso o apostador erre 10 vezes ou até ele acertar todos os números.
2. Altere o programa anterior para guardar os números sem que haja repetição, ou seja, caso o dono
da casa de apostas tenha entrado com um número que já exista, ignore-o.
3. DESAFIO:
Faça um programa que mantenha o estoque do hortifruti Leguminosas. Apresente um menu com
as seguintes opções:as seguintes opções:
(a) inserir novos produtos
(b) acrescentar no estoque
(c) baixar do estoque
(d) listar produtos com estoque baixo
(e) listar estoque de todos os produtos
(f) sair!
– Para cada produto inserido, ler nome, código e quantidade inicial
– Para acrescentar ou baixar do estoque, ler código e quantidade
– Quando der baixa no estoque, verificar se não está negativo, nesse caso, avisar ao usuário que
serão baixados apenas a quantidade atual no estoque (zerando esse produto)
– “Estoque baixo” significa que há apenas 5 ou menos produtos
6. Fatias...
Listas: fatias (slices)
• A notação de fatias também pode ser usada,
inclusive para atribuição:
>>> lista = [1, 'a', 2+3j, ['ab', 'CD']]
>>> lista [1:]
['a', (2+3j), ['ab', 'CD']]
>>> lista [:1]
Lista de lista,
veremos isso posteriormente!
>>> lista [:1]
[1]
>>> lista [1:2]
['a']
>>> lista [0:-1]
[1, 'a', (2+3j)]
Listas: atribuição a fatias
(e inserção)
• A atribuição a uma fatia requer que o valor atribuído seja uma
seqüência (uma lista ou uma string, por exemplo)
• A atribuição substitui os elementos da fatia pelos da seqüência
(INSERÇÃO)
>>> lista = [1, 'y', ['ab', 'CD']]
>>> lista [1:1] = ['z']
>>> lista
[1, 'z', 'y', ['ab', 'CD']]
>>> lista [1:3] = [['x']]
>>> lista
[1, ['x'], ['ab', 'CD']]
>>> lista [1:-1]= [2,3,4]
>>> lista
[1, 2, 3, 4, ['ab', 'CD']]
>>> lista [:2] = 'xyz'
>>> lista
['x', 'y', 'z', 3, 4, ['ab', 'CD']]
Inserindo lista em lista
• Também é possível inserir uma variável lista
na outra:
>>> var1 = ['a', 'b', 'c', 'd', 'x']
>>> var2 = [6,7]>>> var2 = [6,7]
>>> var1[2:2] = var2
>>> var1
['a', 'b', 6, 7, 'c', 'd', 'x']
7. Incrementos em Fatias
• É possível usar um terceiro número na notação
de fatias designando o incremento
– Default é 1 , ou seja, toma os elementos de um em um
do menor para o maior índice
– Pode-se usar qualquer número inteiro diferente de 0– Pode-se usar qualquer número inteiro diferente de 0
• a[0:10:2] retorna uma lista com os 10 primeiros elementos
de a tomados de 2 em 2 (5 elementos, no máximo)
• a[5:0:-1] retorna uma lista com os 5 primeiros elementos
de a tomados da direita para a esquerda
• Obs.: Esta notação só existe nas versões de
Python a partir da 2.3
Incrementos em Fatias
• Exemplo
>>> a = ['a', 2, 3, 'd', 'x']
>>> a [:3:2]
['a', 3]['a', 3]
>>> a [::-1]
['x', 'd', 3, 2, 'a']
>>> a [3:0:-2]
['d', 2]
Incrementos em Fatias
• Se um incremento de fatia é diferente de 1,
uma atribuição à fatia deve ter o mesmo
número de elementos:
>>> l = [1,2,3,4,5]
>>> l [0::2] = ['x','y','z']>>> l [0::2] = ['x','y','z']
>>> l
['x', 2, 'y', 4, 'z']
>>> l [0::2] = [6,7]
Traceback (most recent call last):
File "<pyshell#17>", line 1, in -toplevel-
l [0::2] = [6,7]
ValueError: attempt to assign sequence of size 2
to extended slice of size 3
Alguns métodos da classe list
• sort(cmp=None, key=None, reverse=False)
– Ordena a lista
– Os argumentos são opcionais. Por default, a lista é
ordenada crescentemente
– Ex.:Ex.:
>>> lista = [9,8,7,1,4,2]
>>> lista.sort()
>>> lista
[1, 2, 4, 7, 8, 9]
8. Alguns métodos da classe list
• sort(cmp=None, key=None, reverse=False)
– É possível obter a ordem inversa, passando True para o
argumento reverse
– Ex.:
>>> lista = [9,8,7,1,4,2]
>>> lista.sort(reverse=True)
>>> lista>>> lista
[9, 8, 7, 4, 2, 1]
– OBS.: A notação acima permite passar um argumento
sem especificar os anteriores, mas poderíamos ter
escrito:
>>> lista = [9,8,7,1,4,2]
>>> lista.sort(None,None,True)
>>> lista
[9, 8, 7, 4, 2, 1]
Exercício
• 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 restaurante, alunos podem guardar lugar para no máximo
3 outros colegas, depois disso a fila é congelada.
• Faça um programa que:
– Leia uma fila de alunos (matrícula) até que seja entrada uma matrícula– Leia uma fila de alunos (matrícula) até que seja entrada uma matrícula
negativa (às 11h).
– Imprima a fila 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.
– Use uma única fila!!!
for
in
rangerange
Operador “in”
• Permite saber se um elemento pertence a uma
lista
• Serve também para strings
• Ex.:
>>> lista = [1, 'a', 'bc']
>>> 1 in lista>>> 1 in lista
True
>>> 2 in lista
False
>>> 'b' in lista
False
>>> 'b' in lista[2]
True
>>> 'bc' in 'abcd'
True
9. A função range
• Retorna uma progressão aritmética de inteiros numa
lista
• Forma geral: range (início, parada, incremento)
– início (opcional) é o primeiro valor a ser gerado (default: 0)
– parada é o limite da progressão: a progressão termina no
último valor antes de paradaúltimo valor antes de parada
– incremento (opcional) é o passo da progressão (default:1)
• Ex.:
>>> range(3)
[0, 1, 2]
>>> range(2,5,2)
[2, 4]
>>> range(5,2,-2)
[5, 3]
>>> range (2,5,-2)
[]
>>> range (5,2,2)
[]
Comando for
• Assim como while, o comando for é um comando
de repetição (loop)
• Permite iterar sobre os elementos de uma lista
• Forma geral: for var in lista : comandos
– Os comandos são repetidos para cada valor de lista
– Durante a repetição, var possui o valor corrente da lista– Durante a repetição, var possui o valor corrente da lista
• Uma grande utilidade da função range é construir a
lista de iteração
• Ex.:
>>>for i in range(1,7): print i,
1 2 3 4 5 6
Quando usar for ou while?
• Duas situações distintas que precisam de comando de repetição:
– Quando se deseja repetir um bloco de comandos uma quantidade de vezes
pré-determinada (antes de chegar ao bloco). USO DO FOR É IDEAL!
– Quando não se sabe a quantidade de vezes antes de entrar no bloco de
comandos, havendo apenas uma condição para o fim do loop. USO DO WHILE
É IDEAL!
• Na verdade existe uma terceira situação:• Na verdade existe uma terceira situação:
– Quando há pelo menos duas condições para término da repetição, uma
determinada e outra indeterminada
• Exemplo:
– Faça a leitura das notas de no máximo 30 alunos de uma turma (a entrada
termina se for digitada uma nota negativa ou se já foram entradas as 30
notas). Ao final diga a média da turma.
• Rever exercícios, propor o uso de for...
Exemplo
• Condição pre-determinada:
– Leia a nota de 30 alunos de uma turma
• Condição indeterminada:
• Combinados:• Combinados:
10. Exercícios
• Faça um programa que leia código de produto,
preço e quantidade vendida de 1881 produtos
e informe os 10 produtos (código e preço)
responsáveis pelo maior faturamento.
• Modifique o programa anterior para que a
leitura termine com código inválido (código
válido varia de 10000 até 99999, inclusive os
extremos). Ou seja, não necessariamente
haverá 1881 produtos.
Alguns métodos da classe list
• count(elemento)
– Retorna quantas vezes o elemento aparece na lista
– Ex.:
>>> [1,2,3,1,2,3,4].count(1)
2
• extend(lista2)• extend(lista2)
– Acrescenta os elementos de lista2 ao final da lista
– OBS.: Altera a lista ao invés de retornar a lista alterada
– Ex.:
>>> lista=[1,2]
>>> lista.extend([3,4])
>>> lista
[1, 2, 3, 4]
Alguns métodos da classe list
• index(elemento)
– Retorna o índice da primeira ocorrência de elemento na lista
– Um erro ocorre se elemento não consta da lista
– Ex.:
>>> lista = [9,8,33,12]
>>> lista.index(33)
22
>>> lista.index(7)
Traceback (most recent call last):
File "<pyshell#3>", line 1, in -toplevel-
lista.index(7)
ValueError: list.index(x): x not in list
OBS: use in para ter certeza que o elemento existe na lista!
Alguns métodos da classe list
• insert(indice, elemento)
– insere elemento na lista na posição indicada por índice
– Ex.:
>>> lista = [0,1,2,3]
>>> lista.insert(1,'dois')
>>> lista
[0, 'dois', 1, 2, 3]
– Como o extend, altera a lista ao invés de retornar a– Como o extend, altera a lista ao invés de retornar a
lista
• O valor retornado é None!
– Atribuições a fatias servem para a mesma finalidade
mas são menos legíveis
>>> lista = [0,1,2,3]
>>> lista [1:1] = ['dois']
>>> lista
[0, 'dois', 1, 2, 3]
11. Alguns métodos da classe list
• pop(índice)
– Remove da lista o elemento na posição índice e o retorna
– Se índice não for mencionado, é assumido o último
– Ex.:
>>> lista = [1,2,3,4]
>>> lista.pop()
44
>>> lista
[1, 2, 3]
>>> lista.pop(1)
2
>>> lista
[1, 3]
Alguns métodos da classe list
• remove(elemento)
– Remove da lista o primeiro elemento igual a elemento
– Se não existe tal elemento, um erro é gerado
– Ex.:
>>> lista = ['oi', 'alo', 'ola']
>>> lista.remove('alo')
>>> lista
['oi', 'ola']['oi', 'ola']
>>> lista.remove('oba')
Traceback (most recent call last):
File "<pyshell#24>", line 1, in -toplevel-
lista.remove('oba')
ValueError: list.remove(x): x not in list
OBS: use in para ter certeza que o elemento existe na lista!
Alguns métodos da classe list
• reverse()
– Inverte a ordem dos elementos da lista
– Ex.:
>>> lista=[1,2,3]
>>> lista.reverse()
>>> lista>>> lista
[3, 2, 1]
Exercício
• Faça um programa para cadastrar os alunos da turma de Python. O programa deverá apresentar um menu
de opções ao usuário contendo:
a. inclusão
b. exclusão
c. listagem geral
d. listagem acima nota
e. listar aluno
f. trocar de nota
g. fimg. fim
• Regras:
– Para cadastrar um aluno, deverá ser realizada a leitura de sua matrícula e sua nota.
– Para excluir um aluno, apenas sua matrícula deverá ser pedida.
– A listagem geral deverá listar todos os alunos matriculados.
– A listagem por nota deverá listar todos os alunos acima de uma determinada nota.
– Listar um aluno significa mostrar a nota de um aluno.
– Para trocar a nota de um aluno, é necessário apenas a sua matricula e sua nova nota.
• Observações:
– A listagem deverá ser mantida sempre ordenada (dica: insira ordenado durante a leitura).
– GRANDE DESAFIO: crie uma opção a mais que seria listar alunos por ordem de notas. Crie um vetor auxiliar contendo
os índices dos vetores alunos e notas, para que não seja necessário reordenar os vetores a cada listagem de notas e
alunos.
12. Exercício UPA
• Faça um programa para controlar o atendimento da emergência de uma UPA (Unidade
Python de Atendimentos).
– As seguintes regras de precedência devem ser respeitadas toda vez que há um médico
disponível:
• Todo caso urgente tem precedência máxima e serão atendidos em ordem de chegada.
• Caso não haja ninguém na fila de urgência:
– Pessoas acima de 65 anos devem ser atendidas, a prioridade deve ser por idade (o mais velho primeiro).
– Crianças de até 8 anos por ordem de chegada. Mas atenção, enquanto houver mais de 5 crianças, então
elas têm precedência em relação aos idosos (para evitar tumulto).
– Demais pessoas devem ser atendidas em ordem de chegada.
– O seu programa deve manter quatro filas (urgentes, idosos, crianças e demais). As lista– O seu programa deve manter quatro filas (urgentes, idosos, crianças e demais). As lista
guardam a identidade dos pacientes (valor inteiro). No caso dos idosos, deve-se usar
uma lista auxiliar com as idades.
– O programa deverá manter o seguinte menu:
• (a) Registro de paciente:
– Ler identidade, idade e urgência (‘s’ ou ‘n’).
– Encaminhar o paciente para a fila correta.
• (b) Proximo paciente:
– Baseado nas regras acima, dizer quem é o próximo (mostrar identidade) e retirá-lo da fila
• (c) Troca de plantão:
– Imprimir as quatro filas, total de atendimentos e sair do programa
Exercício nomes
• Faça um programa que leia uma série de nomes completos (termina quando for
inserido um nome vazio). Em seguida, o programa deverá dizer para cada primeiro
nome diferente, quantas vezes ele apareceu.
– Ex:
• Entrada:
– OTAVIO HENRIQUE FLAESCHEN OLIVEIRA
– PAULO EDUARDO ANDRADE RODRIGUES DA SILVA
– PAULO FELIPE NUNES DE LIMA
– OTAVIO SECKLER MACHADO
– MATHEUS SOARES DA SILVA
– NICOLAS D AURIA– NICOLAS D AURIA
– OCTAVIO LACERDA DE ALMEIDA
– PAULA ALVES BESSA
– PAULO RICARDO MORAIS SHOR
– MATHEUS GALLUZZI MALAFAIA
• Saída:
– MATHEUS 2
– NICOLAS 1
– OCTAVIO 1
– OTAVIO 2
– PAULA 1
– PAULO 3
Matrizes
• Exemplo: Calcule as médias das turmas de uma escola e, ao final, exiba as
notas dos alunos da turma com a maior média.
• Para representar os dados do problema descrito acima poderíamos usar
tantos vetores quanto fosse o número de turmas existentes no colégio.
• Porém, seria ideal uma estrutura de dados que armazenasse todas as
notas de todas as turmas, e que pudesse ser referenciada pelo conjunto,
ou pelo conjunto das notas de uma turma, ou por cada nota
Exemplo:
notas[4][3]=7.5;
ou pelo conjunto das notas de uma turma, ou por cada nota
individualmente:
– Notas
0 5,0 3,0 8,0 .......... 9,5
1 7,3 2,2 5,6 .......... 8,0
2 5,7 1,8 6,4 ........... 5,9
3 2,4 4,9 6,0 .......... 3,8
4 10,0 9,5 3,0 .......... 4,0
0 1 2 ......... 49
Matrizes
• Listas podem ser usadas para guardar matrizes
• Uma matriz é um tipo de dado usado para representar uma
certa quantidade de valores homogêneos de natureza
bidimensional (na verdade, podem ser multidimensionais).
Podemos imaginar uma matriz como sendo uma lista, onde
cada elemento dessa lista é também uma lista.
Exemplo:
notas[4][3]=7.5;
cada elemento dessa lista é também uma lista.
• Logo, para referenciarmos um elemento em uma matriz
precisamos de dois índices: o primeiro para selecionar a lista
(linha) e o segundo para selecionar o elemento da lista
previamente selecionada (coluna).
• Exemplo:
– notas[4][3]=7.5
13. Matrizes
• Percorrendo matrizes:
– São necessárias duas estruturas de repetição aninhadas (while ou for)
– Por exemplo, a estrutura de repetição mais externa percorrerá as linhas da
matriz, enquanto a estrutura de repetição mais interna percorrerá os
elementos (colunas) da linha corrente.
– Exemplo:
notas = [[5,6,7],[9,8,7],[10,9,8]]
for i in range(3):for i in range(3):
for j in range (3):
print notas[i][j]
• Inicializando uma matriz:
– Por exemplo, podemos criar uma matriz-identidade de 3x3 com o código:
m = []
for i in range(3):
m.append([0]*3)
m[i][i]=1
• .
Exercício
• Escreva um programa para computar o produto de duas matrizes m1 e m2.
Seu programa deve começar lendo os tamanhos das matrizes e verificando
se são de tamanhos compatíveis para multiplicação. Em seguida faça a
leitura preechendo os valores das matrizes m1 e m2. Finalmente faça o
cálculo matemático, imprimindo a matriz final no formato tradicional
(linhas e colunas alinhadas, use /t).
Exercícios Matriz
• Uma pista de Kart permite 10 voltas para cada um dos 6 corredores. Faça um
programa que leia todos os tempos em segundos e guarde em uma matriz 6 x
10. Ao final diga:
– De quem foi a melhor volta da prova e em que volta
– Classificação final em ordem (1º o campeão)
– Qual foi o piloto mais regular?
– Qual foi a volta com a média mais rápida?
• Uma editora quer saber o relacionamento entre seus autores. Faça um
programa que:
– Dado o total de livros da editora (lido no início), leia para cada livro da editora, o
nome dos autores.
• Cada livro pode ter mais de um autor• Cada livro pode ter mais de um autor
• Para facilitar, basta guardar o primeiro nome
• Lista terminada por linha vazia
• Não precisa ler o nome do livro
– Mantenha uma lista de autores e quantidade de livros escritos.
– Mantenha uma matriz de inteiros com a relação de autorias. Observe que essa
matriz é simétrica e sua diagonal é igual a lista do item anterior.
– Ao final, imprima:
• Quais autores escreveram mais livros juntos
• Dado um autor, com quais autores ele nunca escreveu
Exercício Matriz (e funções)
• Faça um programa que gere um jogo do tipo "caça-palavras". O programa deverá
inicializar uma matriz 6x6 com letras minúsculas em ordem alfabética por coluna
(tabela 1) (caso não haja mais letras minúsculas para preencher a matriz, deve-se
voltar à letra ‘a’). A seguir o programa deverá ler o conjunto de informações para
montar o caça-palavras composto por:
– Uma palavra de até 6 caracteres
– A linha inicial
– A coluna inicial
– O sentido (1=p/ cima; 2=p/ baixo; 3=diagonal p/Nordeste; 4=diagonal p/Suldeste; 5=p/– O sentido (1=p/ cima; 2=p/ baixo; 3=diagonal p/Nordeste; 4=diagonal p/Suldeste; 5=p/
esquerda; 6=p/direita, 7=diagonal p/Noroeste, 8= diagonal p/Sudoeste)
• A leitura das palavras termina com uma palavra vazia. Para cada palavra lida, o
programa deverá colocá-la na matriz de acordo com o sentido. Caso a palavra não
caiba na posição e direção definida, esta deverá ser ignorada e uma mensagem de erro
deverá ser emitida. (crie uma função para cada sentido)
• Exemplo:
14. Exercícios
• Escreva um programa para computar o triângulo
de Pascal até a linha n, onde n é um valor inteiro
positivo lido da linha de comando
– Lembre-se que o elemento na i-ésima linha e j-ésima
coluna do triângulo de Pascal contém o número de
combinações de i elementos j a jcombinações de i elementos j a j
– O triângulo deve ser posto numa lista onde o i-ésimo
elemento é uma lista com a i-ésima linha do triângulo
– Ex:
Quantas linhas? 7
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6,
4, 1], [1, 5, 10, 10, 5, 1], [1, 6, 15, 20, 15,
6, 1]]