·

Engenharia de Alimentos ·

Linguagens de Programação

Send your question to AI and receive an answer instantly

Ask Question

Recommended for you

Preview text

Programação Computação Prof Joelmir José Lopes Programação Computação Esta aula tem por finalidade tratar o assunto Programação Computação usando a linguagem Python Python Python Suponha o seguinte problema Faça um programa que receba o nome e nota de três alunos calcule e mostre a a média aritmética da turma b mostre no monitor a palavra Parabéns se a nota do aluno foi maior que a média da turma Possível solução nome1 inputInforme o nome do aluno 1 nome2 inputInforme o nome do aluno 2 nome3 inputInforme o nome do aluno 3 nota1 floatinputInforme a nota de nome1 nota2 floatinputInforme a nota de nome2 nota3 floatinputInforme a nota de nome3 media nota1 nota2 nota33 Possível solução printA media da turma foi media if nota1 media printParabens nome1 if nota2 media printParabens nome2 if nota3 media printParabens nome3 Python E se fossem 40 alunos É possível definir variáveis que guardam mais de um valor de um mesmo tipo Essas variáveis são conhecidas como variáveis compostas variáveis subscritas variáveis indexáveis arranjos array ou vetor Em Python existem três tipos principais de variáveis compostas Listas Tuplas Dicionários Python Listas Em Python os valores de uma lista podem ser de qualquer tipo ou seja estrutura de dados heterogêneas Python Lista é um conjunto ordenado de valores onde cada valor é identificado por um índice Os valores na lista são denominados elementos Vamos definir uma lista nota de tamanho 5 de tipo inteiro nota 60 95 80 50 98 Exemplo printnota1 resultado 95 Python Lista de nomes alunos Andre Lucas Antonio Maria Exemplo printalunos2 Antonio Python Para acessar ler ou escrever uma posição da lista basta informar a posição entre colchetes Exemplo notas 80 55 15 media notas0 notas1 notas2 3 printmedia Python Se eu quiser mostrar no monitor os elementos dessa lista posso fazer notas 80 55 15 printnotas0 printnotas1 printnotas2 Posso usar as estruturas de repetição para mostrar no monitor os elementos dessa lista Exemplo notas 80 55 15 for i in range3 vai produzir a sequencia 0 1 2 printnotasi Python Criação de uma lista a partir de valores lidos do teclado Exemplo Armazenar as notas de 3 alunos em uma lista A nota de cada aluno será informada pelo teclado Código com erro notas0 floatinputDigite a nota do primeiro aluno notas1 floatinputDigite a nota do segundo aluno notas2 floatinputDigite a nota do terceiro aluno Python Criação de uma lista a partir de valores lidos do teclado 1 É preciso primeiro criar a lista Exemplo notas cria lista vazia 2 Precisamos usar o operador append Por Exemplo n floatinputDigite a nota do primeiro aluno notasappendn Python Em resumo Voltando ao exemplo armazenar as notas de 3 alunos em uma lista A nota de cada aluno será informada pelo teclado notas cria lista vazia notasappendfloatinputDigite a nota do primeiro aluno notasappendfloat inputDigite a nota do segundo aluno notasappendfloat inputDigite a nota do terceiro aluno Python Em resumo Para eu mostrar os valores eu faço printnotas Ou printnotas0 printnotas1 printnotas2 Ou for i in range3 vai produzir a sequencia 0 1 2 printnotasi Python Retomando E se fossem 40 alunos Criaríamos duas listas nomes e notas de 40 posições Vincularíamos a posição x da lista de nomes à posição x da lista de notas Python numalunos 40 nomes cria lista vazia nomes notas cria lista vazia notas media 0 for i in rangenumalunos 0 a 39 ou seja 40 nomesappendinputInforme o nome do aluno notasappendfloatinputInforme a nota media media notasi media media numalunos printA media da turma é media for i in rangenumalunos if notasi media printParabens nomesi Python Cuidados no uso de listas Certifiquese de que não esteja querendo acessar posição da lista que não existe Exemplo alunos Andre Lucas Antonio Maria printalunos4 Python Exemplo de listas Existe vários tipos de listas criadas para poder trabalhar em Python Lista vazia ou seja sem elementos Listavazia Lista com elementos inteiros Listainteiros 2 4 6 8 10 Lista com elementos reais Listareais 90 100 85 78 Lista com elementos string Listafrutas abacaxi pera uva abacate Python Lista de inteiros com tamanho 5 preenchida por zeros Listazerada 05 observação O Python fará uma lista com o valor que você colocar entre nesse exemplo printListazerada As listas em Python podem conter itens de diferentes tipos heterogêneas Por exemplo a lista chamada coisas em coisas um 2 3 4 tem três itens o primeiro é a string um o segundo é o inteiro 2 e o terceiro item é a lista 3 4 Nessa disciplina trabalharemos apenas com listas homogenias Python Índices para acesso aos elementos da lista Python permite acesso à lista em ordem crescente ou decrescente de posição A primeira posição é 0 A última posição é 1 Exemplo c 45 6 0 72 1543 printc3 retornará 72 printc2 retornará 72 Python Python Python lista inicializei uma lista vazia listaappend1inclui o elemento na primeira posição ou seja índice 0 listaappend2inclui o elemento na segunda posição ou seja índice 1 printlista printlista0 printlista1 print ultimo lista1 print penúltimo lista2 lista1 77 observe que eu mudei o elemento de índice posição 1para 77 printlista lista2 3 ERRO list assignment index out of range Se eu tentar fazer lista2 3 vai dar erro porque a posição 2 ainda não existe Python Em resumo Eu posso iniciar a lista já com os elementos como abaixo ou seja sem fazer animais animais peixe gato cão ou animais animaisappendpeixe animaisappendgato animaisappendcão Python Em resumo Eu posso iniciar a lista já com os elementos como abaixo ou seja sem fazer animais animais peixe gato cão printanimais Lembrando eu não posso fazer isso notas notas0 floatinputDigite a nota do primeiro aluno notas1 floatinputDigite a nota do segundo aluno notas2 floatinputDigite a nota do terceiro aluno Porém uma vez que já exista um elemento no índice eu posso modificalo exemplo animais0 boto printanimais Python Operadores de Lista Os itens na lista podem ser acessados individualmente usando o operador de indexação animais peixe gato cão printanimais0 peixe printanimais2 cão Python O comprimento de uma lista ou seja o número de itens nela é calculado usando a função len exemplo animais peixe gato cão x lenanimais printx resultado 3 OBS1 eu poderia também varrer a lista da seguinte forma animais peixe gato cão for i in rangelenanimais lenanimais será substituido por 3 printi mostra os índices 0 1 2 printanimaisi mostra os elementos peixe gato cão Python Outro exemplo da OBS1 Dado a lista abaixo Se eu fizer j 154543232234 for i in rangelenj lenj será substituído por 7 e i irá armazena os índices 0 1 2 3 4 5 printi mostra os índices 012 printjimostra os elementos 1 54 54 3 OBS2 Dado a lista abaixo j 154543232234 for i in j i armazena os elementos 1 54 54 3 23 2 234 printi mostra os elementos 1 54 54 3 Python As listas podem ser adicionadas significando que podem ser concatenadas animais peixe gato cão animais2 animais animais printanimais2 resultado peixe gato cão peixe gato cão Elas também podem ser multiplicadas por um inteiro k que significa que k cópias da lista são concatenadas animais peixe gato cão animais2 animais 2 printanimais2 resultadopeixe gato cão peixe gato cão Python Se você quiser verificar se a string coelho está na lista pode usar o operador in em uma expressão Booleana que é avaliada como True se a string coelho aparecer na lista animais animais peixe gato cão printcoelho in animaisresultado False printcão in animais resultado True Python Na Tabela abaixo resumimos o uso de alguns dos operadores de lista Tabela Operadores de lista e funções Somente alguns dos operadores de lista comumente usados aparecem aqui Uso Explicação x in lst OPERADOR Verdadeiro se o objeto x estiver na lista lst caso contrário falso x not in lst OPERADOR Falso se o objeto x estiver na lista lst caso contrário verdadeiro lstA lstB OPERADOR Concatenação das listas lstA e lstB lst n ou n lst OPERADOR Concatenação de n cópias da lista lst lsti OPERADOR Item no índice i da lista lst lenlst FUNÇÃO Comprimento da lista lst minlst FUNÇÃO Menor item na lista lst maxlst FUNÇÃO Maior item na lista lst sumlst FUNÇÃO Soma dos itens na lista lst inteiros e reais Python Exemplo lst 2399 1999 3450 12099 printminlst printmaxlst printsumlst print3450 in lst print575 in lst print575 not in lst printlst lst x lst 2 k 2 lst printx printk Python Operadores ou Métodos de Lista Vimos funções que operam sobre listas como a função min numeros 6 9 4 22 printminnumeros retornará 4 Python Há também funções que são chamadas sobre listas Por exemplo para acrescentar porco espinho à lista animais chamaríamos a função append sobre a lista animais da seguinte forma animais peixe gato cão animaisappendporco espinho printanimais animaisappendpatoAcrescenta pato à lista animais printanimais Python Observe o modo especial como a função append é chamada animaisappendporco espinho O que essa notação significa é que a função append é chamada sobre a lista animais com a entrada porco espinho O efeito da execução da instrução animaisappendporco espinho é que o argumento de entrada porco espinho é acrescentado ao final da lista animais A função append é uma função list O que isso significa é que a função append não pode ser chamada por si só ela sempre deve ser chamada sobre alguma lista usando a notação listaappend Vamos nos referir a essas funções como métodos ou operadores Python Outro exemplo de um método de lista é o método count Quando chamado sobre uma lista com um argumento de entrada ele retorna o número de vezes que o argumento de entrada aparece na lista animais peixe gato cão animaisappendporco espinho animaisappendcão printanimais printanimaiscountcão conta o número de ocorrências de cão Para remover a primeira ocorrência de cão podemos usar o método de lista remove animaisremovecão printanimais Python Para inverter a ordem dos elementos da lista podemos usar o método de lista reverse animais peixe gato cão animaisappendporco espinho animaisappendcão printanimais animaisreverse printanimais Python A tabela abaixo apresenta alguns métodos da lista Tabela Alguns métodos de lista As funções append insert remove reverse e sort modificam a lista lst Uso Explicação lstappenditem OPERADOR Inclui itens ao final da lista lst lstcountitem OPERADOR Retorna o número de ocorrências de item na lista lst lstinsertíndice item OPERADOR Insere item na lista no índice e move os outros itens para frente lstremoveitem OPERADOR Remove e não devolve a primeira ocorrência do item na lista lstreverse OPERADOR Inverte a ordem dos itens na lista lstsort OPERADOR Ordena os elementos da lista Python animais peixe gato cão pinguim rato printanimais animaisappendpato printanimais printanimaiscountpeixe animaisinsert3 foca insere no índice 3 printanimais printanimais x animaisremovecão remove não devolve o elemento removido printx none significa nenhum printanimais Python printanimais animaisreverse printanimais animaissort ordena em ordem alfabética ou ordem crescente se for número printanimais Python Uma lista de números seria ordenada em ordem crescente Exemplo lst 4 2 8 5 lstsort printlst 2 4 5 8 Uma lista de números seria ordenada em ordem decrescente Exemplo lst 4 2 8 5 lstsort printlst 2 4 5 8 lstreverse printlst 8 5 4 2 O que aconteceria se usássemos o método sort para classificar uma lista contendo números e strings Visto que strings e os inteiros não podem ser comparados a lista não pode ser classificada e um erro seria gerado Verifique isso Python Exemplo de exercício Dado a seguinte lista de nomes e notas abaixo na qual o índice posição do elemento numa lista corresponde a outra lista por exemplo Guilherme tem nota 575 nomes Antônio Maria José Francisca Guilherme Paulo notas 7 3 8 5 575 65 Faça um programa que exiba o nome do aluno e a sua respectiva nota Possível resposta nomes Antônio Maria José Francisca Guilherme Paulo notas 7 3 8 5 575 65 for i in rangelennomes as duas listas são do mesmo tamanho printnomesi notasi Python Revisão do Operador de Indexação Dada a lista notas 7 3 8 5 575 Se eu fizer printnotas0 vai mostrar o número 7 no monitor O operador de indexação aceita um índice i e retorna um único elemento da lista o qual se encontra no índice i O operador de indexação também pode ser usado para obter um pedaço de uma lista Por exemplo printnotas02 resposta 7 3 Python A expressão notas02 é avaliada como o pedaço da lista notas começando no índice 0 e terminando antes do índice 2 ou seja 21 1 Em geral notasij é a sublista da lista notas que começa no índice i e termina no índice j1 Aqui estão mais alguns exemplos notas 7 3 8 5 575 printnotas34 resposta 5 printnotas31 resposta 8 5 O último exemplo mostra como obter uma fatia usando índices negativos a sublista obtida começa no índice 3 e termina antes do índice 1 ou seja no índice 2 Python Se o pedaço que queremos começar for no primeiro elemento de uma lista podemos omitir o primeiro índice notas 7 3 8 5 575 printnotas2 resposta 7 3 Python Para obter um pedaço que termina no último elemento de uma lista também podemos omitir o segundo índice notas 7 3 8 5 575 printnotas3 resposta 8 5 575 Python Um pedaço de uma lista também é uma lista Em outras palavras quando o operador de indexação é aplicado a uma lista com dois argumentos ele retornará uma lista Exemplo notas 7 3 8 5 575 x notas13 3 8 printx xappend9 porque x é uma lista printx 3 8 9 Python Observe que isso é diferente do caso em que o operador de indexação é aplicado a uma lista com apenas um argumento digamos um índice i nesse caso o item da lista no índice i é retornado Exemplo notas 7 3 8 5 575 y notas1 printy 3 yappend9 porque x não é uma lista printy Bibliografia Bibliografia PERKOVIC Ljubomir Introdução à Computação Usando Python Um foco no desenvolvimento de aplicações Editora LTC Livros Técnicos e Científicos Editora Ltda 2016