diff --git a/Desafio_01.ipynb b/Desafio_01.ipynb index db922b9..d0af99b 100644 --- a/Desafio_01.ipynb +++ b/Desafio_01.ipynb @@ -1,85 +1,163 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "view-in-github" - }, - "source": [ - "![](https://i.imgur.com/YX6UATs.png)" - ] + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "anaconda-cloud": {}, + "colab": { + "name": "Desafio 1.ipynb", + "provenance": [], + "include_colab_link": true + }, + "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.7.9" + } }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "SbLLE9q1eldC" - }, - "source": [ - "### Desafio 1\n", - "\n", - "Escreva um programa em Python para contabilizar a quantidade de ocorrências de cada palavra." - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "WhtbdwFseldD" - }, - "outputs": [], - "source": [ - "palavras = [\n", - " 'red', 'green', 'black', 'pink', 'black', 'white', 'black', 'eyes',\n", - " 'white', 'black', 'orange', 'pink', 'pink', 'red', 'red', 'white', 'orange',\n", - " 'white', \"black\", 'pink', 'green', 'green', 'pink', 'green', 'pink',\n", - " 'white', 'orange', \"orange\", 'red'\n", - "]\n", - "\n", - "\n", - "# Seu código" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "M58o1U9KfAxa" - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "anaconda-cloud": {}, - "colab": { - "include_colab_link": true, - "name": "Desafio 1.ipynb", - "provenance": [] - }, - "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.7.9" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "SbLLE9q1eldC" + }, + "source": [ + "### Desafio 1\n", + "\n", + "Escreva um programa em Python para contabilizar a quantidade de ocorrências de cada palavra." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "WhtbdwFseldD" + }, + "source": [ + "palavras = [\n", + " 'red', 'green', 'black', 'pink', 'black', 'white', 'black', 'eyes',\n", + " 'white', 'black', 'orange', 'pink', 'pink', 'red', 'red', 'white', 'orange',\n", + " 'white', \"black\", 'pink', 'green', 'green', 'pink', 'green', 'pink',\n", + " 'white', 'orange', \"orange\", 'red'\n", + "]\n", + "\n", + "\n", + "# Seu código" + ], + "execution_count": 2, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_3CxoCU18lwN" + }, + "source": [ + "#Solução com importando o Counter" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "M58o1U9KfAxa", + "outputId": "89bbd9a1-120b-4936-c5f2-2c931e62ffb3" + }, + "source": [ + "from collections import Counter\n", + "\n", + "print(Counter(palavras))" + ], + "execution_count": 3, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Counter({'pink': 6, 'black': 5, 'white': 5, 'red': 4, 'green': 4, 'orange': 4, 'eyes': 1})\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "EZOWuzEc9Clb" + }, + "source": [ + "#Solução criando o Counter" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "1RJs2ga39Fuy", + "outputId": "d795db69-c7df-432e-b495-cc9025e8301e", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "def Counter(lista_de_palavras):\n", + " \n", + " palavras_unicas = []\n", + " dicionario_de_palavras = {}\n", + " \n", + " #Faz a contagem de palavras\n", + " for palavra in lista_de_palavras:\n", + " if palavra not in palavras_unicas:\n", + " palavras_unicas.append(palavra)\n", + " count = 0\n", + " for p in lista_de_palavras:\n", + " if p == palavra:\n", + " count+=1\n", + " dicionario_de_palavras[palavra] = count\n", + " \n", + " #Ordena as palavras pela quantidade\n", + " resultado = sorted(dicionario_de_palavras, key = dicionario_de_palavras.get, reverse=True)\n", + " \n", + " #Cria novo dicinario contendo os valores ordenados\n", + " n_dicionario = {}\n", + " for r in resultado:\n", + " n_dicionario[r] = dicionario_de_palavras[r]\n", + "\n", + " #Exporta dicionario \n", + " return n_dicionario\n", + "\n", + "print(Counter(palavras))" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "stream", + "text": [ + "{'pink': 6, 'black': 5, 'white': 5, 'red': 4, 'green': 4, 'orange': 4, 'eyes': 1}\n" + ], + "name": "stdout" + } + ] + } + ] +} \ No newline at end of file diff --git a/Desafio_02.ipynb b/Desafio_02.ipynb index 8aa2264..37c835f 100644 --- a/Desafio_02.ipynb +++ b/Desafio_02.ipynb @@ -1,72 +1,99 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "![](https://i.imgur.com/YX6UATs.png)" - ] + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "anaconda-cloud": {}, + "colab": { + "name": "Desafio 2.ipynb", + "provenance": [], + "include_colab_link": true + }, + "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.7.9" + } }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "q1NCks7Af6JN" - }, - "source": [ - "### Desafio 2\n", - "\n", - "Escreva uma função que receba um número inteiro de horas e converta esse número para segundos.\n", - "\n", - "Exemplo:\n", - "\n", - "convert(5) ➞ 18000\n", - "\n", - "convert(3) ➞ 10800\n", - "\n", - "convert(2) ➞ 7200" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "sSm6F7sff6JO" - }, - "outputs": [], - "source": [ - "def convert_to_sec(number):\n", - " pass # Seu código" - ] - } - ], - "metadata": { - "anaconda-cloud": {}, - "colab": { - "include_colab_link": true, - "name": "Desafio 2.ipynb", - "provenance": [] - }, - "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.7.9" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "FygDNvm5BXfg" + }, + "source": [ + "![](https://i.imgur.com/YX6UATs.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "q1NCks7Af6JN" + }, + "source": [ + "### Desafio 2\n", + "\n", + "Escreva uma função que receba um número inteiro de horas e converta esse número para segundos.\n", + "\n", + "Exemplo:\n", + "\n", + "convert(5) ➞ 18000\n", + "\n", + "convert(3) ➞ 10800\n", + "\n", + "convert(2) ➞ 7200" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "sSm6F7sff6JO", + "outputId": "e58378b3-e382-4e6f-81a4-d3d837a5d4d6" + }, + "source": [ + "def convert_to_sec(hour):\n", + " return hour*60*60\n", + "\n", + "print(convert_to_sec(5))\n", + "print(convert_to_sec(3))\n", + "print(convert_to_sec(2))" + ], + "execution_count": 2, + "outputs": [ + { + "output_type": "stream", + "text": [ + "18000\n", + "10800\n", + "7200\n" + ], + "name": "stdout" + } + ] + } + ] +} \ No newline at end of file diff --git a/Desafio_03.ipynb b/Desafio_03.ipynb index 75be003..9dbd653 100644 --- a/Desafio_03.ipynb +++ b/Desafio_03.ipynb @@ -1,79 +1,94 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "view-in-github" - }, - "source": [ - "![](https://i.imgur.com/YX6UATs.png)" - ] + "nbformat": 4, + "nbformat_minor": 2, + "metadata": { + "anaconda-cloud": {}, + "colab": { + "name": "Desafio 3.ipynb", + "provenance": [], + "include_colab_link": true + }, + "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.7.9" + } }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "9apVxxygf6JR" - }, - "source": [ - "### Desafio 3\n", - "\n", - "Escreva uma função que receba uma lista como entrada e retorne uma nova lista ordenada e sem valores duplicados.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "ndTkQEUBf6JS" - }, - "outputs": [], - "source": [ - "lista = [1,2,3,4,3,30,3,4,5,6,9,3,2,1,2,4,5,15,6,6,3,13,4,45,5]\n", - "\n", - "# Seu código" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "wo2rA-NriFtO" - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "anaconda-cloud": {}, - "colab": { - "include_colab_link": true, - "name": "Desafio 3.ipynb", - "provenance": [] - }, - "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.7.9" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} + "cells": [ + { + "cell_type": "markdown", + "source": [ + "\"Open" + ], + "metadata": { + "id": "view-in-github", + "colab_type": "text" + } + }, + { + "cell_type": "markdown", + "source": [ + "### Desafio 3\n", + "\n", + "Escreva uma função que receba uma lista como entrada e retorne uma nova lista ordenada e sem valores duplicados.\n" + ], + "metadata": { + "id": "9apVxxygf6JR" + } + }, + { + "cell_type": "code", + "execution_count": 1, + "source": [ + "lista = [1,2,3,4,3,30,3,4,5,6,9,3,2,1,2,4,5,15,6,6,3,13,4,45,5]\n" + ], + "outputs": [], + "metadata": { + "id": "ndTkQEUBf6JS" + } + }, + { + "cell_type": "code", + "execution_count": 18, + "source": [ + "def sort_and_drop_duplicates(nlista):\n", + " xlista = []\n", + " for pos, number in enumerate(nlista):\n", + " if number not in xlista:\n", + " xlista.append(number)\n", + " \n", + " return(sorted(xlista, reverse=True))\n", + " \n", + "print(sort_and_drop_duplicates(lista))" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[45, 30, 15, 13, 9, 6, 5, 4, 3, 2, 1]\n" + ] + } + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "wo2rA-NriFtO", + "outputId": "15606b22-5ea0-4d0b-ee51-00fae5730508" + } + } + ] +} \ No newline at end of file diff --git a/Desafio_04.ipynb b/Desafio_04.ipynb index bdab516..d66f61b 100644 --- a/Desafio_04.ipynb +++ b/Desafio_04.ipynb @@ -1,70 +1,82 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "view-in-github" - }, - "source": [ - "![](https://i.imgur.com/YX6UATs.png)" - ] + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "anaconda-cloud": {}, + "colab": { + "name": "Desafio 4.ipynb", + "provenance": [], + "include_colab_link": true + }, + "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.7.9" + } }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "dOqcKUYZf6JW" - }, - "source": [ - "### Desafio 4\n", - "\n", - "Escreva uma função cuja entrada é uma string e a saída é outra string com as palavras em ordem inversa.\n", - "\n", - "Exemplo:\n", - "\n", - "inverte_texto(\"Python é legal\") ➞ \"legal é Python\"" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "I5TInJDaf6JW" - }, - "outputs": [], - "source": [ - "# Seu código" - ] - } - ], - "metadata": { - "anaconda-cloud": {}, - "colab": { - "include_colab_link": true, - "name": "Desafio 4.ipynb", - "provenance": [] - }, - "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.7.9" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "dOqcKUYZf6JW" + }, + "source": [ + "### Desafio 4\n", + "\n", + "Escreva uma função cuja entrada é uma string e a saída é outra string com as palavras em ordem inversa.\n", + "\n", + "Exemplo:\n", + "\n", + "inverte_texto(\"Python é legal\") ➞ \"legal é Python\"" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "I5TInJDaf6JW", + "outputId": "c2443ce9-47a3-4ac0-dde8-0e42e4e4c72d" + }, + "source": [ + "def inverte_texto(texto):\n", + " return texto.split(' ')[::-1]\n", + "\n", + "print(inverte_texto(\"Python é legal\"))" + ], + "execution_count": 15, + "outputs": [ + { + "output_type": "stream", + "text": [ + "['legal', 'é', 'Python']\n" + ], + "name": "stdout" + } + ] + } + ] +} \ No newline at end of file diff --git a/Desafio_05.ipynb b/Desafio_05.ipynb index 0794a31..e7729a7 100644 --- a/Desafio_05.ipynb +++ b/Desafio_05.ipynb @@ -1,101 +1,193 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "view-in-github" - }, - "source": [ - "![](https://i.imgur.com/YX6UATs.png)" - ] + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "Desafio 5.ipynb", + "provenance": [], + "include_colab_link": true + }, + "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.7.9" + } }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "gQbaWOWcW1g_" - }, - "source": [ - "# Desafio 5\n", - "Você trabalha em uma loja de sapatos e deve contatar uma série de clientes. Seus números de telefone estão na lista abaixo. No entanto, é possível notar números duplicados na lista dada. Você seria capaz de remover estes duplicados para evitar que clientes sejam contatados mais de uma vez?" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "T68FjcUmWear" - }, - "outputs": [], - "source": [ - "numeros_telefone = [\n", - "'(765) 368-1506',\n", - "'(285) 608-2448',\n", - "'(255) 826-9050',\n", - "'(554) 994-1517',\n", - "'(285) 608-2448',\n", - "'(596) 336-5508',\n", - "'(511) 821-7870',\n", - "'(410) 665-4447',\n", - "'(821) 642-8987',\n", - "'(285) 608-2448',\n", - "'(311) 799-3883',\n", - "'(935) 875-2054',\n", - "'(464) 788-2397',\n", - "'(765) 368-1506',\n", - "'(650) 684-1437',\n", - "'(812) 816-0881',\n", - "'(285) 608-2448',\n", - "'(885) 407-1719',\n", - "'(943) 769-1061',\n", - "'(596) 336-5508',\n", - "'(765) 368-1506',\n", - "'(255) 826-9050',\n", - "]" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "F8n1sN-4XrW3" - }, - "outputs": [], - "source": [ - "#Seu código" - ] - } - ], - "metadata": { - "colab": { - "authorship_tag": "ABX9TyO0u4amKtoFgAgnb/IGUddy", - "include_colab_link": true, - "name": "Desafio 5.ipynb", - "provenance": [] - }, - "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.7.9" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gQbaWOWcW1g_" + }, + "source": [ + "# Desafio 5\n", + "Você trabalha em uma loja de sapatos e deve contatar uma série de clientes. Seus números de telefone estão na lista abaixo. No entanto, é possível notar números duplicados na lista dada. Você seria capaz de remover estes duplicados para evitar que clientes sejam contatados mais de uma vez?" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "T68FjcUmWear" + }, + "source": [ + "numeros_telefone = [\n", + "'(765) 368-1506',\n", + "'(285) 608-2448',\n", + "'(255) 826-9050',\n", + "'(554) 994-1517',\n", + "'(285) 608-2448',\n", + "'(596) 336-5508',\n", + "'(511) 821-7870',\n", + "'(410) 665-4447',\n", + "'(821) 642-8987',\n", + "'(285) 608-2448',\n", + "'(311) 799-3883',\n", + "'(935) 875-2054',\n", + "'(464) 788-2397',\n", + "'(765) 368-1506',\n", + "'(650) 684-1437',\n", + "'(812) 816-0881',\n", + "'(285) 608-2448',\n", + "'(885) 407-1719',\n", + "'(943) 769-1061',\n", + "'(596) 336-5508',\n", + "'(765) 368-1506',\n", + "'(255) 826-9050',\n", + "]" + ], + "execution_count": 2, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "cjLaWiOwMF_W" + }, + "source": [ + "#Utilizando SET" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "F8n1sN-4XrW3", + "outputId": "083c19fb-c932-4985-89f8-0394e753f2d1" + }, + "source": [ + "list(set(numeros_telefone))" + ], + "execution_count": 5, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['(311) 799-3883',\n", + " '(464) 788-2397',\n", + " '(285) 608-2448',\n", + " '(554) 994-1517',\n", + " '(943) 769-1061',\n", + " '(255) 826-9050',\n", + " '(821) 642-8987',\n", + " '(812) 816-0881',\n", + " '(511) 821-7870',\n", + " '(410) 665-4447',\n", + " '(650) 684-1437',\n", + " '(935) 875-2054',\n", + " '(765) 368-1506',\n", + " '(596) 336-5508',\n", + " '(885) 407-1719']" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 5 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "vDgsY_SANaDL" + }, + "source": [ + "#Sem o SET" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "YMrnJDViNZOS", + "outputId": "2b1cf70e-6d0e-4386-cb72-73d7a2c4b142", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "def drop_duplicates(nlista):\n", + " xlista = []\n", + " for n in nlista:\n", + " if n not in xlista:\n", + " xlista.append(n)\n", + " return xlista\n", + "\n", + "drop_duplicates(numeros_telefone)" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['(765) 368-1506',\n", + " '(285) 608-2448',\n", + " '(255) 826-9050',\n", + " '(554) 994-1517',\n", + " '(596) 336-5508',\n", + " '(511) 821-7870',\n", + " '(410) 665-4447',\n", + " '(821) 642-8987',\n", + " '(311) 799-3883',\n", + " '(935) 875-2054',\n", + " '(464) 788-2397',\n", + " '(650) 684-1437',\n", + " '(812) 816-0881',\n", + " '(885) 407-1719',\n", + " '(943) 769-1061']" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 6 + } + ] + } + ] +} \ No newline at end of file diff --git a/Desafio_06.ipynb b/Desafio_06.ipynb index 1381088..e3678b5 100644 --- a/Desafio_06.ipynb +++ b/Desafio_06.ipynb @@ -1,94 +1,117 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "view-in-github" - }, - "source": [ - "![](https://i.imgur.com/YX6UATs.png)" - ] + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "anaconda-cloud": {}, + "colab": { + "name": "Desafio 6.ipynb", + "provenance": [], + "include_colab_link": true + }, + "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.7.9" + } }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "AiI1_KNTf6Jh" - }, - "source": [ - "### Desafio 6\n", - "\n", - "Crie uma função que receba duas listas e retorne uma lista que contenha apenas os elementos comuns entre as listas (sem repetição). A função deve suportar lista de tamanhos diferentes.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Listas**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]\n", - "b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "mvxpy_vCf6Jh" - }, - "outputs": [], - "source": [ - "# Seu código" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "ly-N_Aq624RQ" - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "anaconda-cloud": {}, - "colab": { - "include_colab_link": true, - "name": "Desafio 6.ipynb", - "provenance": [] - }, - "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.7.9" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "AiI1_KNTf6Jh" + }, + "source": [ + "### Desafio 6\n", + "\n", + "Crie uma função que receba duas listas e retorne uma lista que contenha apenas os elementos comuns entre as listas (sem repetição). A função deve suportar lista de tamanhos diferentes.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "TOtM2_bgOBaG" + }, + "source": [ + "**Listas**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "JxF17MttOBaG" + }, + "source": [ + "a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]\n", + "b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]" + ], + "execution_count": 5, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "mvxpy_vCf6Jh", + "outputId": "539403f4-8826-42b1-d570-646ee9731b45" + }, + "source": [ + "def compara_lista(alista, blista):\n", + " final_lista = []\n", + " \n", + " if len(alista)>len(blista):\n", + " lista1 = alista\n", + " lista2 = blista\n", + " else:\n", + " lista1 = blista\n", + " lista2 = alista\n", + " \n", + " for a in lista1:\n", + " if a in lista2 and a not in final_lista:\n", + " final_lista.append(a)\n", + "\n", + " return final_lista\n", + "\n", + "compara_lista(a,b)" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[1, 2, 3, 5, 8, 13]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 6 + } + ] + } + ] +} \ No newline at end of file diff --git a/Desafio_07.ipynb b/Desafio_07.ipynb index 55c90e7..f8f12eb 100644 --- a/Desafio_07.ipynb +++ b/Desafio_07.ipynb @@ -1,132 +1,161 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "view-in-github" - }, - "source": [ - "![](https://i.imgur.com/YX6UATs.png)" - ] + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "Desafio 7.ipynb", + "provenance": [], + "include_colab_link": true + }, + "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.7.9" + } }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "gQbaWOWcW1g_" - }, - "source": [ - "# Desafio 7\n", - "Um professor de universidade tem uma turma com os seguintes números de telefones:" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "T68FjcUmWear" - }, - "outputs": [], - "source": [ - "telefones_alunos = ['(873) 810-8267', '(633) 244-7325', '(300) 303-5462', \n", - " '(938) 300-8890', '(429) 264-7427', '(737) 805-2326', \n", - " '(768) 956-8497', '(941) 225-3869', '(203) 606-9463', \n", - " '(294) 430-7720', '(896) 781-5087', '(397) 845-8267', \n", - " '(788) 717-6858', '(419) 734-4188', '(682) 595-3278', \n", - " '(835) 955-1498', '(296) 415-9944', '(897) 932-2512', \n", - " '(263) 415-3893', '(822) 640-8496', '(640) 427-2597', \n", - " '(856) 338-7094', '(807) 554-4076', '(641) 367-5279', \n", - " '(828) 866-0696', '(727) 376-5749', '(921) 948-2244', \n", - " '(964) 710-9625', '(596) 685-1242', '(403) 343-7705', \n", - " '(227) 389-3685', '(264) 372-7298', '(797) 649-3653', \n", - " '(374) 361-3844', '(618) 490-4228', '(987) 803-5550', \n", - " '(228) 976-9699', '(757) 450-9985', '(491) 666-5367',\n", - " ]" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "ryYrStScXgZ3" - }, - "source": [ - "Ele criou um grupo do WhatsApp. No entanto, somente os seguintes números entraram no grupo." - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "0Hxk13ciXZ3h" - }, - "outputs": [], - "source": [ - "entraram_no_grupo = ['(596) 685-1242', '(727) 376-5749', '(987) 803-5550', \n", - " '(633) 244-7325', '(828) 866-0696', '(263) 415-3893', \n", - " '(203) 606-9463', '(296) 415-9944', '(419) 734-4188', \n", - " '(618) 490-4228', '(682) 595-3278', '(938) 300-8890', \n", - " '(264) 372-7298', '(768) 956-8497', '(737) 805-2326', \n", - " '(788) 717-6858', '(228) 976-9699', '(896) 781-5087',\n", - " '(374) 361-3844', '(921) 948-2244', '(807) 554-4076', \n", - " '(822) 640-8496', '(227) 389-3685', '(429) 264-7427', \n", - " '(397) 845-8267']" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "-inLXlaxoWnC" - }, - "source": [ - "Você seria capaz de criar uma lista dos alunos que ainda não entraram no grupo para que sejam contatados individualmente?" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "_OSrDQ1noh62" - }, - "outputs": [], - "source": [ - "#Seu código." - ] - } - ], - "metadata": { - "colab": { - "authorship_tag": "ABX9TyPinyzdF60Dyi+YfEQiCPfO", - "include_colab_link": true, - "name": "Desafio 7.ipynb", - "provenance": [] - }, - "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.7.9" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gQbaWOWcW1g_" + }, + "source": [ + "# Desafio 7\n", + "Um professor de universidade tem uma turma com os seguintes números de telefones:" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "T68FjcUmWear" + }, + "source": [ + "telefones_alunos = ['(873) 810-8267', '(633) 244-7325', '(300) 303-5462', \n", + " '(938) 300-8890', '(429) 264-7427', '(737) 805-2326', \n", + " '(768) 956-8497', '(941) 225-3869', '(203) 606-9463', \n", + " '(294) 430-7720', '(896) 781-5087', '(397) 845-8267', \n", + " '(788) 717-6858', '(419) 734-4188', '(682) 595-3278', \n", + " '(835) 955-1498', '(296) 415-9944', '(897) 932-2512', \n", + " '(263) 415-3893', '(822) 640-8496', '(640) 427-2597', \n", + " '(856) 338-7094', '(807) 554-4076', '(641) 367-5279', \n", + " '(828) 866-0696', '(727) 376-5749', '(921) 948-2244', \n", + " '(964) 710-9625', '(596) 685-1242', '(403) 343-7705', \n", + " '(227) 389-3685', '(264) 372-7298', '(797) 649-3653', \n", + " '(374) 361-3844', '(618) 490-4228', '(987) 803-5550', \n", + " '(228) 976-9699', '(757) 450-9985', '(491) 666-5367',\n", + " ]" + ], + "execution_count": 1, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ryYrStScXgZ3" + }, + "source": [ + "Ele criou um grupo do WhatsApp. No entanto, somente os seguintes números entraram no grupo." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "0Hxk13ciXZ3h" + }, + "source": [ + "entraram_no_grupo = ['(596) 685-1242', '(727) 376-5749', '(987) 803-5550', \n", + " '(633) 244-7325', '(828) 866-0696', '(263) 415-3893', \n", + " '(203) 606-9463', '(296) 415-9944', '(419) 734-4188', \n", + " '(618) 490-4228', '(682) 595-3278', '(938) 300-8890', \n", + " '(264) 372-7298', '(768) 956-8497', '(737) 805-2326', \n", + " '(788) 717-6858', '(228) 976-9699', '(896) 781-5087',\n", + " '(374) 361-3844', '(921) 948-2244', '(807) 554-4076', \n", + " '(822) 640-8496', '(227) 389-3685', '(429) 264-7427', \n", + " '(397) 845-8267']" + ], + "execution_count": 3, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "-inLXlaxoWnC" + }, + "source": [ + "Você seria capaz de criar uma lista dos alunos que ainda não entraram no grupo para que sejam contatados individualmente?" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "_OSrDQ1noh62", + "outputId": "f48298ec-2caa-40f0-db44-e102e1cefcff" + }, + "source": [ + "def compara_lista(lista_alunos, lista_grupo):\n", + " lista_fora = []\n", + " \n", + " for aluno in lista_alunos:\n", + " if aluno not in lista_grupo:\n", + " lista_fora.append(aluno)\n", + "\n", + " return lista_fora\n", + "\n", + "compara_lista(telefones_alunos,entraram_no_grupo)" + ], + "execution_count": 4, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['(873) 810-8267',\n", + " '(300) 303-5462',\n", + " '(941) 225-3869',\n", + " '(294) 430-7720',\n", + " '(835) 955-1498',\n", + " '(897) 932-2512',\n", + " '(640) 427-2597',\n", + " '(856) 338-7094',\n", + " '(641) 367-5279',\n", + " '(964) 710-9625',\n", + " '(403) 343-7705',\n", + " '(797) 649-3653',\n", + " '(757) 450-9985',\n", + " '(491) 666-5367']" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 4 + } + ] + } + ] +} \ No newline at end of file diff --git a/Desafio_08.ipynb b/Desafio_08.ipynb index de5d802..57b4bc5 100644 --- a/Desafio_08.ipynb +++ b/Desafio_08.ipynb @@ -1,78 +1,104 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "view-in-github" - }, - "source": [ - "![](https://i.imgur.com/YX6UATs.png)" - ] + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "anaconda-cloud": {}, + "colab": { + "name": "Desafio 8.ipynb", + "provenance": [], + "include_colab_link": true + }, + "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.7.9" + } }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "o3tkeMDNf6Jo" - }, - "source": [ - "### Desafio 8\n", - "\n", - "Escreva um script Python para encontrar as 10 palavras mais longas em um arquivo de texto.\n", - "O arquivo .txt está localizado na mesma pasta do projeto (**texto.txt**)." - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "EknxjSG0f6Jo" - }, - "outputs": [], - "source": [ - "# Seu código" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "ZYbqEWBG5nKx" - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "anaconda-cloud": {}, - "colab": { - "include_colab_link": true, - "name": "Desafio 8.ipynb", - "provenance": [] - }, - "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.7.9" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "o3tkeMDNf6Jo" + }, + "source": [ + "### Desafio 8\n", + "\n", + "Escreva um script Python para encontrar as 10 palavras mais longas em um arquivo de texto.\n", + "O arquivo .txt está localizado na mesma pasta do projeto (**texto.txt**)." + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "EknxjSG0f6Jo", + "outputId": "5d2d55a9-8540-4bf4-b421-8719e130ce1d" + }, + "source": [ + "with open('texto.txt', \"r\") as documento:\n", + " data = documento.read().replace(')', ' ').replace('(', ' ').replace('\\ufeff', ' ').replace('.', ' ').replace(',', ' ').replace('\\n', ' ').strip().split(' ')\n", + "\n", + "#Conta o tamanho das palavras\n", + "words_len = {}\n", + "for word in data:\n", + " words_len[word] = len(word)\n", + "\n", + "#Ordena as palavras pelo tamanho\n", + "resultado = sorted(words_len, key = words_len.get, reverse=True)\n", + " \n", + "#Cria novo dicinario contendo os valores ordenados\n", + "n_dicionario = {}\n", + "for r in resultado:\n", + " n_dicionario[r] = words_len[r]\n", + "\n", + "for i, word in enumerate(n_dicionario):\n", + " if i < 10:\n", + " print(f'{word}: {len(word)}')\n", + "\n" + ], + "execution_count": 13, + "outputs": [ + { + "output_type": "stream", + "text": [ + "general-purpose: 15\n", + "object-oriented: 15\n", + "comprehensive: 13\n", + "intermediate: 12\n", + "interpreted: 11\n", + "programming: 11\n", + "readability: 11\n", + "programmers: 11\n", + "high-level: 10\n", + "philosophy: 10\n" + ], + "name": "stdout" + } + ] + } + ] +} \ No newline at end of file diff --git a/Desafio_09.ipynb b/Desafio_09.ipynb index 6fb29e1..93ae926 100644 --- a/Desafio_09.ipynb +++ b/Desafio_09.ipynb @@ -1,78 +1,110 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "view-in-github" - }, - "source": [ - "![](https://i.imgur.com/YX6UATs.png)" - ] + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "anaconda-cloud": {}, + "colab": { + "name": "Desafio 9.ipynb", + "provenance": [], + "include_colab_link": true + }, + "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.7.9" + } }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "HpvTpUBGf6Jr" - }, - "source": [ - "### Desafio 9\n", - "\n", - "Escreva uma função que retorne a soma dos múltiplos de 3 e 5 entre 0 e um número limite, que vai ser utilizado como parâmetro. \\\n", - "Por exemplo, se o limite for 20, ele retornará a soma de 3, 5, 6, 9, 10, 12, 15, 18, 20." - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "195C6bw-f6Js" - }, - "outputs": [], - "source": [ - "# Seu código" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "a_6aqcKp6wrN" - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "anaconda-cloud": {}, - "colab": { - "include_colab_link": true, - "name": "Desafio 9.ipynb", - "provenance": [] - }, - "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.7.9" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "HpvTpUBGf6Jr" + }, + "source": [ + "### Desafio 9\n", + "\n", + "Escreva uma função que retorne a soma dos múltiplos de 3 e 5 entre 0 e um número limite, que vai ser utilizado como parâmetro. \\\n", + "Por exemplo, se o limite for 20, ele retornará a soma de 3, 5, 6, 9, 10, 12, 15, 18, 20." + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "195C6bw-f6Js", + "outputId": "bd3b69e7-a961-49af-dd4e-1b0776350b49" + }, + "source": [ + "def multiplos(limite):\n", + " lista_multiplos = []\n", + "\n", + " #Calcula multiplos de 3\n", + " aux = 0\n", + " while True:\n", + " aux+=1\n", + " if 3*aux <= limite:\n", + " lista_multiplos.append(3*aux)\n", + " else:\n", + " break\n", + " #Calcula multiplos de 5\n", + " aux = 0\n", + " while True:\n", + " aux+=1\n", + " if 5*aux <= limite:\n", + " lista_multiplos.append(5*aux)\n", + " else:\n", + " break\n", + "\n", + " #retira duplicados \n", + " lista_multiplos = list(set(lista_multiplos))\n", + " \n", + " #soma lista\n", + " soma = 0\n", + " for i in lista_multiplos:\n", + " soma+=i\n", + " return soma\n", + "\n", + "multiplos(20)" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "98" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 6 + } + ] + } + ] +} \ No newline at end of file diff --git a/Desafio_10.ipynb b/Desafio_10.ipynb index 4f831f3..638e4d2 100644 --- a/Desafio_10.ipynb +++ b/Desafio_10.ipynb @@ -1,87 +1,104 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "view-in-github" - }, - "source": [ - "![](https://i.imgur.com/YX6UATs.png)" - ] + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "anaconda-cloud": {}, + "colab": { + "name": "Desafio 10.ipynb", + "provenance": [], + "include_colab_link": true + }, + "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.7.9" + } }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "a4-FLDRof6Jv" - }, - "source": [ - "### Desafio 10\n", - "\n", - "Dada uma lista, divida-a em 3 partes iguais e reverta a ordem de cada lista.\n", - "\n", - "**Exemplo:** \n", - "\n", - "Entrada: \\\n", - "sampleList = [11, 45, 8, 23, 14, 12, 78, 45, 89]\n", - "\n", - "Saída: \\\n", - "Parte 1 [8, 45, 11] \\\n", - "Parte 2 [12, 14, 23] \\\n", - "Parte 3 [89, 45, 78] " - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "IJ70pUjnf6Jw" - }, - "outputs": [], - "source": [ - "# Seu código" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "pNrXNVqf8Wc1" - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "anaconda-cloud": {}, - "colab": { - "include_colab_link": true, - "name": "Desafio 10.ipynb", - "provenance": [] - }, - "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.7.9" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "a4-FLDRof6Jv" + }, + "source": [ + "### Desafio 10\n", + "\n", + "Dada uma lista, divida-a em 3 partes iguais e reverta a ordem de cada lista.\n", + "\n", + "**Exemplo:** \n", + "\n", + "Entrada: \\\n", + "sampleList = [11, 45, 8, 23, 14, 12, 78, 45, 89]\n", + "\n", + "Saída: \\\n", + "Parte 1 [8, 45, 11] \\\n", + "Parte 2 [12, 14, 23] \\\n", + "Parte 3 [89, 45, 78] " + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "IJ70pUjnf6Jw", + "outputId": "cc2efcba-8b57-4e43-c725-acd565d622eb" + }, + "source": [ + "def div_and_rev(lista):\n", + "\n", + " #Calcula tamanho das listas\n", + " tamanho = len(lista)/3\n", + " \n", + " #Separa as listas\n", + " nlista = []\n", + " for i in range(3):\n", + " inicio = i*tamanho\n", + " fim =(i+1)*tamanho\n", + " nlista.append(lista[int(inicio):int(fim)])\n", + " #Mostra na ordem inversa\n", + " for n in nlista:\n", + " print(n[::-1])\n", + "\n", + "\n", + "sampleList = [11, 45, 8, 23, 14, 12, 78, 45, 89]\n", + "div_and_rev(sampleList)" + ], + "execution_count": 11, + "outputs": [ + { + "output_type": "stream", + "text": [ + "[8, 45, 11]\n", + "[12, 14, 23]\n", + "[89, 45, 78]\n" + ], + "name": "stdout" + } + ] + } + ] +} \ No newline at end of file diff --git a/Desafio_11.ipynb b/Desafio_11.ipynb index b6a8536..4aa9727 100644 --- a/Desafio_11.ipynb +++ b/Desafio_11.ipynb @@ -1,85 +1,93 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "view-in-github" - }, - "source": [ - "![](https://i.imgur.com/YX6UATs.png)" - ] + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "anaconda-cloud": {}, + "colab": { + "name": "Desafio 11.ipynb", + "provenance": [], + "include_colab_link": true + }, + "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.7.9" + } }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "y1R0m4oWf6Jz" - }, - "source": [ - "### Desafio 8\n", - "Dados uma sequência com `n` números inteiros, determinar quantos números da sequência são pares e quantos são ímpares.\\\n", - "Por exemplo, para a sequência\n", - "\n", - "`6 2 7 -5 8 -4`\n", - "\n", - "a sua função deve retornar o número 4 para o número de pares e 2 para o de ímpares.\\\n", - "A saída deve ser um **tupla** contendo primeiramente o número de pares e em seguida o número de ímpares.\\\n", - "Para o exemplo anterior, a saída seria `(4, 2)`." - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "pSIzX4zUf6Jz" - }, - "outputs": [], - "source": [ - "# Seu código\n", - "def contar_pares_impares(entrada):\n", - " pass" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "OQG6erslSjri" - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "anaconda-cloud": {}, - "colab": { - "include_colab_link": true, - "name": "Desafio 11.ipynb", - "provenance": [] - }, - "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.7.9" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "y1R0m4oWf6Jz" + }, + "source": [ + "### Desafio 11\n", + "Dados uma sequência com `n` números inteiros, determinar quantos números da sequência são pares e quantos são ímpares.\\\n", + "Por exemplo, para a sequência\n", + "\n", + "`6 2 7 -5 8 -4`\n", + "\n", + "a sua função deve retornar o número 4 para o número de pares e 2 para o de ímpares.\\\n", + "A saída deve ser um **tupla** contendo primeiramente o número de pares e em seguida o número de ímpares.\\\n", + "Para o exemplo anterior, a saída seria `(4, 2)`." + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "pSIzX4zUf6Jz", + "outputId": "f41a7431-fb27-467b-a471-f439cca15551" + }, + "source": [ + "def contar_pares_impares(entrada):\n", + " pares = 0\n", + " impares = 0\n", + " \n", + " for e in entrada:\n", + " if e%2 == 0:\n", + " pares+=1\n", + " else:\n", + " impares+=1\n", + " \n", + " return (pares,impares)\n", + "\n", + "print(contar_pares_impares([6,2,7,-5,8,-4]))" + ], + "execution_count": 3, + "outputs": [ + { + "output_type": "stream", + "text": [ + "(4, 2)\n" + ], + "name": "stdout" + } + ] + } + ] +} \ No newline at end of file diff --git a/Desafio_12.ipynb b/Desafio_12.ipynb index 32aacf3..e1e64c2 100644 --- a/Desafio_12.ipynb +++ b/Desafio_12.ipynb @@ -1,83 +1,118 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "view-in-github" - }, - "source": [ - "![](https://i.imgur.com/YX6UATs.png)" - ] + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "anaconda-cloud": {}, + "colab": { + "name": "Desafio 12.ipynb", + "provenance": [], + "include_colab_link": true + }, + "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.7.9" + } }, - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "AYHY2YXQf6J2" - }, - "source": [ - "### Desafio 12\n", - "\n", - "Escreva uma função em Python para verificar a validade de uma senha.\n", - "\n", - "A senha deve ter:\n", - "\n", - "* Pelo menos 1 letra entre [a-z] e 1 letra entre [A-Z].\n", - "* Pelo menos 1 número entre [0-9].\n", - "* Pelo menos 1 caractere de [$ # @].\n", - "* Comprimento mínimo de 6 caracteres.\n", - "* Comprimento máximo de 16 caracteres.\n", - "\n", - "Entradas: \"12345678\", \"J3sus0\", \"#Te5t300\", \"J*90j12374\", \"Michheeul\", \"Monk3y6\"\n", - "\n", - "A saída deve ser a senha e um texto indicando se a senha é válida ou inválida:\n", - "\n", - "```\n", - "\"1234\" - Senha inválida\n", - "\"Qw#1234\" - Senha válida\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": 0, - "metadata": { - "colab": {}, - "colab_type": "code", - "id": "UGgtGYGGf6J3" - }, - "outputs": [], - "source": [ - "# Seu código" - ] - } - ], - "metadata": { - "anaconda-cloud": {}, - "colab": { - "include_colab_link": true, - "name": "Desafio 12.ipynb", - "provenance": [] - }, - "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.7.9" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "AYHY2YXQf6J2" + }, + "source": [ + "\n", + "### Desafio 12\n", + "\n", + "Escreva uma função em Python para verificar a validade de uma senha.\n", + "\n", + "A senha deve ter:\n", + "\n", + "* Pelo menos 1 letra entre [a-z] e 1 letra entre [A-Z].\n", + "* Pelo menos 1 número entre [0-9].\n", + "* Pelo menos 1 caractere de [$ # @].\n", + "* Comprimento mínimo de 6 caracteres.\n", + "* Comprimento máximo de 16 caracteres.\n", + "\n", + "Entradas: \"12345678\", \"J3sus0\", \"#Te5t300\", \"J*90j12374\", \"Michheeul\", \"Monk3y6\"\n", + "\n", + "A saída deve ser a senha e um texto indicando se a senha é válida ou inválida:\n", + "\n", + "```\n", + "\"1234\" - Senha inválida\n", + "\"Qw#1234\" - Senha válida\n", + "```" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "UGgtGYGGf6J3", + "outputId": "b678be7d-518f-4504-f3ff-a5180ec9d6f9" + }, + "source": [ + "import re\n", + "\n", + "def valida_senha(senha):\n", + "\n", + " regex = \"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$#])[A-Za-z\\d@$#]{6,20}$\"\n", + "\n", + " if re.search(regex, senha):\n", + " print(f'{senha} - senha valida')\n", + " else:\n", + " print(f'{senha} - senha invalida')\n", + "\n", + "valida_senha(\"1234\")\n", + "valida_senha(\"Qw#1234\")\n", + "valida_senha(\"12345678\") \n", + "valida_senha(\"J3sus0\")\n", + "valida_senha(\"#Te5t300\")\n", + "valida_senha(\"J*90j12374\")\n", + "valida_senha(\"Michheeul\")\n", + "valida_senha( \"Monk3y6\")" + ], + "execution_count": 13, + "outputs": [ + { + "output_type": "stream", + "text": [ + "1234 - senha invalida\n", + "Qw#1234 - senha valida\n", + "12345678 - senha invalida\n", + "J3sus0 - senha invalida\n", + "#Te5t300 - senha valida\n", + "J*90j12374 - senha invalida\n", + "Michheeul - senha invalida\n", + "Monk3y6 - senha invalida\n" + ], + "name": "stdout" + } + ] + } + ] +} \ No newline at end of file diff --git a/README.md b/README.md index d1e16c8..fd65e9e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # Desafios com Python Nesta pasta estaremos colocando alguns desafios à serem resolvidos com Python. Abra-os no Jupyter notebook ou Google Colab, resolva-os e nos envie para revisão a partir de um pull request para a pasta da turma. + +Estes notebooks estão com minhas resoluções dos exercícios.