{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Listas e Funções\n", "\n", "Agora que você já aprendeu sobre listas, vamos ver algumas funções que podem ser usadas com elas.\n", "\n", "Vamos começar relembrando algumas funções que você já aprendeu sobre listas.<br>\n", "Se tiver dúvidas, reveja o [notebook sobre listas](08-listas.ipynb).\n", "\n", "## Acessando elementos\n", "Esse exercício é para relembrar como acessamos elementos de uma lista.\n", "\n", "Na célula abaixo mostre o segundo elemento da lista:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "n = [1, 3, 5]\n", "\n", "# Escreva o seu código abaixo\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Modificando elementos\n", "Também já vimos como modificar elementos.<br>\n", "Na linha 3 da célula abaixo, multiplique o segundo elemento da lista `n` por 5 e sobrescreva o segundo elemento com o resultado da multiplicação.<br>\n", "Ao final mostre o conteúdo da lista." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "n = [1, 3, 5]\n", "# Escreva o seu código abaixo\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Adicionando elementos à lista\n", "\n", "Na célula abaixo use a função `.append(elemento)` para adicionar o número 4 ao final lista." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 3, 5]\n" ] } ], "source": [ "n = [1, 3, 5]\n", "# Adicione o número 4 aqui\n", "\n", "print(n)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Várias maneiras de remover elementos de listas\n", "\n", "Existem diversas formas de remover elementos de listas. \n", "\n", "#### .pop(indice)\n", "Começaremos com `.pop(indice)`. Ela removerá o elemento no índice `indice` e o retornará para você:\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n", "[1, 5]\n" ] } ], "source": [ "n = [1, 3, 5]\n", "elemento = n.pop(1)\n", "# retorna 3 (o elemento no índice 1)\n", "print(elemento)\n", "print(n)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### .remove(elemento)\n", "`.remove(elemento)` vai remover o próprio elemento assim que encontrá-lo:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[3, 5]\n" ] } ], "source": [ "n = [1, 3, 5]\n", "n.remove(1) # Remove o elemento 1 da lista, não o elemento no índice 1\n", "print(n)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### del(lista[indice])\n", "\n", "`del(lista[indice])` irá remover o elemento de `lista` na posição `indice`, retornando nada." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 5]\n" ] } ], "source": [ "n = [1, 3, 5]\n", "del(n[1]) # Remove o elemento em n[1] e retorna nada\n", "print(n)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Na célula abaixo, remova o primeiro elemento de `n` usando qualquer uma das funções acima." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 3, 5]\n" ] } ], "source": [ "n = [1, 3, 5]\n", "# Remova o primeiro elemento da lista n\n", "\n", "print(n)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Alterando o que uma função faz\n", "\n", "Na célula abaixo modifique a função `funcao` para que ela multiplique por 7 o argumento recebido e o retorne." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8\n" ] } ], "source": [ "numero = 5\n", "\n", "def funcao(x):\n", " return x + 3\n", "\n", "print(funcao(numero))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Na célula abaixo, defina uma função chamada `soma` que possui dois parâmetros `a` e `b` e retorna a soma deles. " ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'soma' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m<ipython-input-13-75af015b947f>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msoma\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'soma' is not defined" ] } ], "source": [ "x = 5\n", "y = 13\n", "# Defina soma aqui\n", "\n", "\n", "\n", "print(soma(x, y))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Na célula abaixo, escreva uma função chamada `funcao_string` que recebe uma string `s` como argumento e retorna esse argumento concatenado com a palavra `mundo`. Não adicione um espaço antes de mundo.\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'funcao_string' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m<ipython-input-14-7f335bc657d9>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfuncao_string\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mentrada\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'funcao_string' is not defined" ] } ], "source": [ "entrada = \"Hello\"\n", "# Escreva a sua função aqui\n", "\n", "\n", "\n", "print(funcao_string(entrada))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nós podemos passar uma lista para uma função, do mesmo jeito que passamos qualquer argumento. Veja o exemplo abaixo:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[3, 5, 7]\n" ] } ], "source": [ "def funcao_lista(x):\n", " \"\"\"Não faz nada, apenas retorna a lista recebida x\"\"\"\n", " return x\n", "\n", "n = [3, 5, 7]\n", "print(funcao_lista(n))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Funções disponíveis para serem usadas com listas\n", "\n", "Vejamos algumas funções úteis que já estão disponíveis em Python e que podem ser usadas com listas. Veja algumas dessas funções célula abaixo:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "10\n", "-10\n", "5\n" ] } ], "source": [ "lista = [-10, -5, 5, 10]\n", "\n", "# Mostrando o maior valor em uma lista\n", "print(max(lista))\n", "# Mostrando o menor valor em uma lista\n", "print(min(lista))\n", "# Mostrando o valor absoluto de um elemento\n", "print(abs(-5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dada a lista abaixo, modifique a lista para que todos os elementos fiquem com o sinal trocado, depois mostre o maior e o menor elemento da lista modificada." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "numeros = [2, -3, -8, 5, -4, 10, -2, 1, 0 ]\n", "\n", "# Escreva o seu código aqui\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.2" } }, "nbformat": 4, "nbformat_minor": 2 }