Baixe o app para aproveitar ainda mais
Prévia do material em texto
O que são variáveis • Uma variável é um espaço na memória do computador destinado a um dado que é alterado durante a execução do algoritmo. • O ato de dar um nome a uma variável é chamado de declaração de variável, esse nome também é conhecido como identificador. • Quando armazenamos um valor em uma variável, dizemos que estamos atribuindo um valor a essa variável, através de um operador de atribuição. O que são variáveis • Em Python as variáveis possuem o seu tipo definido de acordo com os valores que são atribuídos. • Por exemplo: • Para declarar uma variável inteira, colocamos o identificador da variável, seguido do sinal de atribuição e seu valor inteiro: num = 1 • Para verificarmos o tipo dessa variável, usamos a função type() • Por exemplo: Print(type(num)) Boas práticas para declaração de variáveis • Nunca inicie a nomenclatura de variáveis com números; • Nunca utilize espaços no meio do identificador da variável; • Nunca utilize caracteres especiais: ! @ # $ % ^ & * / [ ] { } • Evite criar variáveis com mais de 15 caracteres para manter a clareza do código; • Nomes das variáveis devem ser significativos e transmitir a idéia de seu conteúdo; • Utilize preferencialmente palavras em minúsculo (separadas por _ ) ou somente a primeira letra em caso de ter mais de uma palavra; O que são constantes • Um valor que não sofre modificações durante a execução do programa. • São declaradas da mesma forma que as variáveis. Tipos de dados • O tipo é uma forma de classificar as informação. As linguagens de programação normalmente trazem implementado o que é chamado de tipos primitivos, isto é, o tipo de dado mais genérico possível. • Chamamos de Tipos Primitivos as informações em sua forma mais simples, porém, é importante saber que para o Python, não há tipo primitivos, mas sim, estruturas de dados que estão definidas, na maior parte das vezes, dentro da própria Máquina Virtual do Python. Tipos de Dados Variáveis podem guardar diversos tipos de dados: • Números • Strings • Listas e tuplas • Dicionários • Booleanos • Conjuntos Conversão de tipos de dados • Pra convertermos, por exemplo, um texto para o tipo numérico, devemos especificar o tipo a ser convertido e passarmos o valor através de parênteses, como podemos ver a seguir: tipo_a_ser_convertido( variável ) Exemplo: • int(variavel) • float(variavel) • str(variavel) • bool(variavel) Números Podem ser dos tipos: • inteiro (int) >>> x = 1 • ponto flutuante (float) >>> x = 1.3 • complexo (complex) >>> x= 5*3j Strings São cadeias de caracteres, atribuídas geralmente entre aspas simples ou duplas • String (str) >>> x = ‘Curso Python – Fatec Campinas’ >>> x = “Curso Python – Fatec Campinas” • Substituição em Strings • A substituição em strings acontece com o operador %, para substituir strings usa-se %s, para substituir decimais usa-se %d e para substituir floats usa-se %f. Para definir a quantidade de casas decimais, usa=se %.2f (onde 2 representa 2 casas decimais) >>> print('Boa noite! Hoje é %d/%s/%d' % (29,'05',2020)) Exercícios de fixação • Faça um programa que calcule o valor das prestações a pagar em um financiamento. Leia o valor da dívida, o número de prestações e faça o calculo do valor da parcela. Leve em consideração que o valor total da dívida deve ser acrescido de 5%, na ocorrência do financiamento Listas [10,20,30,40,50,60,70] O que são listas? • Uma lista é um conjunto de valores ordenados. Também conhecida como vetores • Os valores são identificados por índices e chamamos de elementos. • Uma lista pode conter zero ou mais elementos de qualquer tipo (em Python usa- se tipagem dinâmica). • A medida que novos elementos são adicionados ou removidos o tamanho da lista cresce ou diminui. • Exemplo: [10,20,30,40,50,60,70,80,90,100]. O que são índices? • Índice é uma referência a posição do elemento dentro da lista. • Os índices se iniciam em zero. • Imagine uma lista como um edifício de apartamentos, onde o térreo é o andar zero, o primeiro andar é o 1, conforme o exemplo abaixo: Listas e Tuplas • Uma lista é uma estrutura de dados composta por itens organizados de forma linear, na qual cada um pode ser acessado a partir de um índice, que representa sua posição na coleção (iniciando em zero), também conhecido com vetores. • Em Python, uma lista é representada como uma sequência de objetos separados por vírgula e dentro de colchetes [], assim, uma lista vazia, por exemplo, pode ser representada por colchetes sem nenhum conteúdo Declaração de Listas • Elementos envolvidos por colchetes []. • Declaração e inicialização de uma lista vazia: • exemplo = [] • Declaração e inicialização de uma lista com 5 elementos: • exemplo = [10,50,5,2,100] • Exemplo = [“algoritmo”, “é”, “muito”, “bom”, “e fácil”] Declaração de Listas • Declaração e inicialização de uma lista sequencial com o range: • minhaLista = range(10) • Declaração e inicialização de uma lista ANINHADA: • suaLista = [10,50,5, [2, 100], “texto”, 3.0] Exemplos • Criando uma lista vazia >>> list = [] >>> lis = list() //através de função interna • Atribuindo valores a lista >>> list = [1,2,3] >>> list2 = ["João","Antonio", "Marina"] >>> list2[0] = ‘Mariana’ • Acessando valores da lista >>> print(list2[0]) ou através de estruturas de repetição Acesso aos elementos de uma lista • A forma de acesso a cada elemento de uma lista é através dos índices (endereços) de cada elemento: Acesso aos elementos de uma lista (Aprimorando o exemplo anterior!) • A forma de acesso a cada elemento de uma lista é através dos índices (endereços) de cada elemento: Exercício • Crie uma lista que contenha 4 notas e calcule a média das notas Exemplos • Percorrendo uma lista >>> list2 = [1,2,3,4,5,6] >>> for number in list2: print (number) • No exemplo acima, cada elemento da lista é armazenado na variável number e impresso posteriormente Exemplos • Percorrendo uma lista e acessando seu index >>> list2 = ["pinguim", "cachorro", "gato", "rato"] >>> for index, number in enumerate(list2): print (index, number) • No exemplo acima, o valor de cada elemento da lista é armazenado na variável number e o índice é armazenado na variável index. • Através do enumerate podemos recuperar a posição do elemento na lista Listas • Copiando listas – através de atribuição simples >>> list2 = ["pinguim", "cachorro", "gato", "rato"] >>> animais = list2 Ambas apontam para o mesmo objeto e as alterações em uma afetará a outra. • Clonando listas – uso do operador de fatia [:] >>> list2 = ["pinguim", "cachorro", "gato", "rato"] >>> animais = list2[:] Temos cópias independentes, as alterações em uma não afeta a outra Listas • Juntando listas >>> list2 = ["pinguim", "cachorro", "gato", "rato"] >>> list3 = [“geladeira”, “fogão”] >>> list4 = list2+list3 >>> for number in list4: print (number) Listas Funções nativas para listas • append() – adiciona um elemento à lista >>> list4.append(“microondas”) • index() – retorna o índice de um elemento >>> print(list4.index(“microondas")) • insert() – adiciona um elemento a determinado índice da lista >>> list4.insert(7, “sofá”) Listas Funções nativas para listas • remove() – remove um elemento a partir de um valor >>> list4.remove(“sofá”) • pop() ou del()– remove um elemento a partir de um índice >>> list4.pop(1) >>> list4.del(1) • sorted() – retorna a lista ordenada >>> list5 = ["c", "b", "a"] >>> print(sorted(list5)) Adicionar elementos em uma lista • Uma das maiores vantagens da utilização de listas é a possibilidade de adicionar elementos durante a execução do programa. • Na prática o programador não precisa se preocupar com a quantidade de variáveis para os alunos da turma (lembra desse problema?) • O método append(): Resolvendo um problema • Construa um programa que registre o nome dos alunos de uma turma. A turma pode variar a quantidade de alunos. O programa deve ler a quantidadede alunos da turma e ler o nome de cada aluno e registrar. Resolvendo um problema • Construa um programa que registre o nome dos alunos de uma turma. A turma pode variar a quantidade de alunos. O programa deve ler a quantidade de alunos da turma e ler o nome de cada aluno e registrar. Remover elementos de uma lista (1/2) • Para remover elementos da lista há dois métodos: • del: Apaga o elemento da lista. • Exemplo: Remover elementos de uma lista (2/2) • Para remover elementos da lista há dois métodos: • pop: Apaga o elemento da lista e retorna o elemento removido. • Exemplo: Tamanho de uma lista • O tamanho de uma lista é igual à quantidade de elementos que ela contém. • Para descobrir o tamanho de uma lista existe a função len. • A função len retorna a quantidade de elementos na lista. Aprimorando o while com a função len • Utilizando a função len em vez de um inteiro literal na definição dos laços, o programa ganha em flexibilidade e manutenibilidade: Iterando listas com o for • A estrutura de repetição for em Python é ideal para percorrer os elementos de uma lista. • Cada item da lista é armazenado (um por repetição) na variável elencada para essa finalidade. • A variável “elemento” receberá os itens da lista “suaLista”. Um de cada vez até que não hajam mais elementos. Exercícios 1. Escreva um programa que leia 10 inteiros e armazene-os em uma lista a. 2. Escreva um programa que escreva todos os dados da lista a. 3. Escreva um programa que leia 10 inteiros e armazene-os em uma lista a. O programa deve informar qual o maior e o menor número digitado. 4. Escreva um programa que leia as notas dos alunos de uma disciplina (A quantidade de alunos deve ser informada pelo usuário) e informe quantos alunos estão abaixo da média e quantos estão na média. (Considere a nota sendo um inteiro de 0 a 100 e a média 60) 5. Escreva um programa que leia 5 números inteiros. Em seguida, determine e imprima na tela o maior elemento par da lista(se houver), o menor elemento ímpar da lista(se houver), o somatório dos elementos da lista e a média. Tuplas • Tupla é uma Lista imutável. O que diferencia a Lista Tupla é que a primeira pode ter elementos adicionados a qualquer momento, enquanto que a segunda estrutura, após definida, não permite a adição ou remoção de elementos. • Uma Tupla é uma estrutura que contém nenhum ou vários elementos. Os elementos de uma Tupla devem ser separados por vírgulas e podem ser delimitados por parêntesis. Uma sequência qualquer, onde os elementos estão separados por vírgula é reconhecido pela linguagem como sendo um tupla, mesmo que os elementos não estejam delimitados por parentesis. • Tuplas podem ter elementos de diferentes tipos Tuplas • Criação de uma tupla vazia e com valores >>>Meses_ano = () >>>Meses_ano = “janeiro”, “fevereiro”, “março” >>>Meses_ano =(“janeiro”, “fevereiro”, “março”) Os parênteses são opcionais. O que define uma tupla é a virgula Para percorrer uma tupla, aplicam-se as mesmas regras das listas, com excessão a manipulação dos dados Tuplas • Declaração Explicita >>>vogais = tuple(“abc”) • Declaração implícita >>>vogais = (“a”,”b”, “c”) >>>vogais = “a” , “b” , “c” Matrizes (listas multidimensionais) • Matrizes são estruturas bidimensionais (tabelas) com m linhas por n colunas muito importantes na matemática, utilizadas por exemplo para a resolução de sistemas de equações e transformações lineares. • Em Python, uma matriz pode ser representada como uma lista de listas, onde um elemento da lista contém uma linha da matriz, que por sua vez corresponde a uma lista com os elementos da coluna da matriz Matrizes (listas multidimensionais) • Declarando matrizes >>>numeros = [[1,2,3,4], [5,6,7,8], [9,10,11,12]] • Atribuindo valores >>>numeros[0][0] = 12 // altero o valor para 12 • Imprimindo a matriz >>>print(numeros[0][0]) //linha[0] coluna[0] Dicionários • Todos os tipos de dados compostos que estudamos em detalhes até agora — strings, listas e tuplas — são coleções sequenciais. Isto significa que os itens na coleção estão ordenados da esquerda para a direita e eles usam números inteiros como índices para acessar os valores que eles contêm. • Dicionário é um tipo diferente de coleção. Ele é um tipo de mapeamento nativo do Python. Um mapa é uma coleção associativa desordenada. A associação, ou mapeamento, é feita a partir de uma chave, que pode ser qualquer tipo imutável, para um valor, que pode ser qualquer objeto de dados do Python. • Uma maneira de criar um dicionário é começar com o dicionário vazio e adicionar pares chave-valor. O dicionário vazio é denotado {} Dicionários • Criando um dicionário >>>Meses = {1: "Janeiro", 2: "Fevereiro", 3: "Marco"} print(Meses) • Acessando um item do dicionário >>>Meses = {1: "Janeiro", 2: "Fevereiro", 3: "Marco"} print(Meses[1]) >>>Contatos = {“Joao”: “9999-8585”, “Ana”: “9999-8683”} print(Contatos[“Joao”]) Dicionários • Os dicionários possuem um método específico para busca de valores, o get(), no qual podemos passar como parâmetros a chave que queremos e um valor padrão para retornar caso essa chave não seja encontrada: >>>print(Contatos.get('Joao', 'Contato não encontrado’)) • Também podemos verificar se um contato está em nosso dicionário através da palavra chave in, retorna true ou False >>> print(‘Joao' in Contatos) Dicionários • O in, usado da forma anterior, verifica apenas as chaves do dicionário, não os valores. Para obtermos valores, podemos usar o método values(), retornando true ou false >>> print(‘9999-8585 ' in Contatos.values) • Unindo dois dicionários >>> Meses.update(Contatos) //insiro o dicionário Contatos no dicionário Meses Dicionários • Adicionando valores ao dicionário >>> Contatos['Maria'] = '8887-7778' >>> print(Contatos) • Removendo valores do dicionário >>> del Contatos['Maria'] >>> print(Contatos) • Removendo valores do dicionário >>> print(Contatos.pop('João', 'Contato não encontrado')) Booleanos • booleano (bool) >>> x = True ou >>> x=False Conjuntos ou Sets São estruturas disponíveis como builtins do Python, utilizadas para representar coleções desordenadas de elementos únicos. É importante sempre lembrar dos conjuntos por suas duas principais características: • Os elementos não são armazenados em uma ordem específica e confiável; • Conjuntos não contém elementos repetidos. Conjuntos ou Sets • Definindo um conjunto >>> x = {1, 2, 3, 4} >>> set([5, 2, 3, 4]) // imprime em ordem • União >>> x = {1, 2, 3, 4} >>> y= {5, 6, 7, 8} >>> print (x.union(y)) Conjuntos ou Sets • Interseção >>> x = {1, 2, 3, 4} >>> y= {5, 6, 7, 8} >>> print (x.intersection(y)) • Essa operação é muito útil quando precisamos descobrir elementos que duas listas possuem em comum • O método intersection não modifica os conjuntos recebidos como parâmetro. Se quisermos que o resultado da interseção seja gravado como novo valor do primeiro conjunto, ao invés de retornar o novo conjunto como resultado, podemos usar o método intersection_update: >>>x.intersection_update(y) >>> print(x) Conjuntos ou Sets • Diferença • A diferença entre dois conjuntos X e Y retorna somente os elementos de X que não estão em Y, ou seja, retira de X todos os elementos comuns a ambos os conjuntos: >>> x = {1, 2, 3, 4} >>> y= {5, 6, 7, 8} >>> print (x.difference(y)) Conjuntos ou Sets • Diferença Simétrica • Diferença simétrica é uma operação sobre os dois conjuntos, que retorna todos os elementos (de ambos os conjuntos x e y) que pertencem a somente um dos conjuntos. >>> x = {1, 2, 3, 4} >>> y= {5, 6, 7, 8} >>> print (x.difference(y)) Conjuntos ou Sets • Pertence • Para verificar se um determinado elemento pertence a um conjunto, podemos usar o já conhecido operador de pertinência in: >>> x = {1, 2, 3, 4} >>> y= {5, 6, 7, 8} >>> 1 in x >>> 10 in y • Removendo valores duplicados >>> lista = [1, 1, 2, 3, 5, 8] >>> conjunto = set(lista) >>> print(conjunto)M. ª Maria Janaina maria.ferreira21@fatec.sp.gov.br Obrigada!
Compartilhar