{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "S1tTxhT7d2IR" }, "source": [ "# Aula 03 - Estruturas de Repetição e Boas Práticas de Programação\n", "## **Avançando na Lógica: Estruturas condicionais e de repetição**" ] }, { "cell_type": "markdown", "metadata": { "id": "etqOZVrDd5AY" }, "source": [ "## 1. Indentação\n", "\n", "**Indentação** é um recuo no texto (tab ou dois espaços) que serve para ressaltar e, em muitas linguagens como Python, **definir a estrutura do algoritmo**.\n", "\n", "Em Python, a indentação é obrigatória para definir blocos de código." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "DCHoZ5PwiSlU" }, "outputs": [], "source": [ "# Exemplo correto de indentação\n", "if True:\n", " print(\"Este bloco está indentado corretamente\")\n", " print(\"Tudo aqui dentro faz parte do if\")\n", "print(\"Este print está fora do bloco if\")" ] }, { "cell_type": "markdown", "metadata": { "id": "s6W6PsN5e01Q" }, "source": [ "## 2. Comando `input()`\n", "\n", "O comando `input()` **pede para o usuário digitar alguma informação** durante a execução do programa." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "RYLxHFmqe0b_" }, "outputs": [], "source": [ "# Exemplo com input\n", "teste = input(\"sim ou não? \")\n", "if teste == \"sim\":\n", " print(\"Olá Mundo\")\n", "else:\n", " print(\"Olá Brasil\")" ] }, { "cell_type": "markdown", "metadata": { "id": "-TlRMpEEjygB" }, "source": [ "## 3. Loop For (Para)\n", "\n", "O `for` é uma estrutura de repetição utilizada para **iterar sobre sequências** ou executar um bloco de código **um número determinado de vezes**.\n", "\n", "### Sintaxe básica:\n", "```python\n", "for variável in sequência:\n", " # bloco de código" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "iO4IUfwZj9Na" }, "outputs": [], "source": [ "# Exemplo básico: percorrendo uma lista\n", "frutas = [\"maçã\", \"banana\", \"laranja\", \"uva\"]\n", "\n", "for fruta in frutas:\n", " print(f\"Eu gosto de {fruta}\")" ] }, { "cell_type": "markdown", "metadata": { "id": "QPEKsfOckJ6A" }, "source": [ "## 4. Função range()\n", "\n", "A função `range()` gera uma sequência de números e é muito usada com o `for`.\n", "\n", "### Formas de usar range():\n", "- `range(stop)` - números de 0 até stop-1\n", "- `range(start, stop)` - números de start até stop-1\n", "- `range(start, stop, step)` - números de start até stop-1, pulando de step em step" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "ta2yZ6AHkNgZ" }, "outputs": [], "source": [ "# range com um argumento (stop)\n", "print(\"range(5):\", end=\" \")\n", "for i in range(5):\n", " print(i, end=\" \")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "ncTaXOZBkQN4" }, "outputs": [], "source": [ "# range com dois argumentos (start, stop)\n", "print(\"range(2, 7):\", end=\" \")\n", "for i in range(2, 7):\n", " print(i, end=\" \")" ] }, { "cell_type": "markdown", "metadata": { "id": "pGX5gsHHe6y_" }, "source": [ "## 4. Loop while (enquanto)\n", "\n", "O comando `while` cria **loops de repetição**. Os comandos dentro do while se repetem **até que a expressão lógica seja falsa**." ] }, { "cell_type": "markdown", "metadata": { "id": "XzHTmyRMjbQI" }, "source": [ "### Comandos importantes em loops:\n", "- **break**: interrompe o loop\n", "- **continue**: pula para a próxima iteração\n", "- **pass**: não faz nada" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "fE-jQYn1e9Dv" }, "outputs": [], "source": [ "# Exemplo básico de while\n", "contador = 0\n", "while contador < 3:\n", " print(f\"Volta número {contador + 1}\")\n", " contador += 1" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "k3DgtgMHjtRZ" }, "outputs": [], "source": [ "# Exemplo com break e continue\n", "print(\"Exemplo com break e continue:\")\n", "\n", "for i in range(1, 6):\n", " if i == 3:\n", " print(\" Pulei o 3 (continue)\")\n", " continue\n", " if i == 5:\n", " print(\" Parei no 5 (break)\")\n", " break\n", " print(f\" Número: {i}\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "xyQWY_PnfAlP", "outputId": "238331eb-675b-471a-f9ed-437ea100deac" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "sim ou não? sim\n", "Olá Mundo\n", "Continua? sim\n", "Olá Mundo\n", "Continua? sim\n", "Olá Mundo\n", "Continua? não\n", "Loop encerrado!\n" ] } ], "source": [ "# Exemplo interativo com while\n", "teste = input(\"sim ou não? \")\n", "while teste == \"sim\":\n", " print(\"Olá Mundo\")\n", " teste = input(\"Continua? \")\n", "print(\"Loop encerrado!\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "54vMwwZWfJrR" }, "outputs": [], "source": [ "# Exemplo mais elaborado com while\n", "acampado = input(\"Participa? (sim/não) \")\n", "\n", "while acampado == \"não\":\n", " print(\"é andorinha!\")\n", " print(\"tá perdendo tempo!\")\n", " acampado = input(\"Participa? (sim/não) \")\n", "\n", "if acampado == \"sim\":\n", " print(\"É de luta!\")" ] }, { "cell_type": "markdown", "metadata": { "id": "3TzHt2CHfMjK" }, "source": [ "## 5. Erros Comuns em Python\n", "\n", "### 5.1 Erro de Indentação\n", "Quando não indentamos corretamente os blocos de código." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "il5QuKkufSaX" }, "outputs": [], "source": [ "# Código com erro de indentação (comentado para não travar a execução)\n", "\"\"\"\n", "teste = input(\"Sim ou não? \")\n", "if teste == \"sim\":\n", "print(\"A resposta é sim!\") # Esta linha deveria estar indentada!\n", "else:\n", "print(\"A resposta é não!\") # Esta linha deveria estar indentada!\n", "\"\"\"\n", "print(\"Exemplo de erro: IndentationError: expected an indented block\")" ] }, { "cell_type": "markdown", "metadata": { "id": "cDMCLOurfUqQ" }, "source": [ "### 5.2 Variável não declarada\n", "Quando tentamos usar uma variável que não foi criada." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "o_6tWWregHJZ" }, "outputs": [], "source": [ "# Exemplo de erro de variável não declarada\n", "# print(teste) # Isso daria erro se executado (NameError)\n", "\n", "# Correção:\n", "teste = \"Agora a variável existe\"\n", "print(teste)" ] }, { "cell_type": "markdown", "metadata": { "id": "FUSvSuvlgLHn" }, "source": [ "### 5.3 Erro de Sintaxe - Variável vazia\n", "Quando tentamos criar uma variável sem atribuir um valor." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "rix1x482gMOw" }, "outputs": [], "source": [ "# Exemplo de sintaxe inválida\n", "# teste = # Isso causaria SyntaxError\n", "\n", "print(\"Exemplo de erro: SyntaxError: invalid syntax\")" ] }, { "cell_type": "markdown", "metadata": { "id": "-taEvF9Rgac4" }, "source": [ "### 5.4 Erro de Sintaxe - Estrutura do if\n", "Quando esquecemos os dois pontos `:` após a condição do if." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "3E0EK6Nygbho" }, "outputs": [], "source": [ "# Exemplo de erro na estrutura do if\n", "\"\"\"\n", "teste = input(\"Sim ou Não? \")\n", "if teste == \"sim\" # Faltam os dois pontos (:)\n", " print(\"A resposta é sim!\")\n", "\"\"\"\n", "print(\"Exemplo de erro: if sem dois pontos causa SyntaxError\")" ] }, { "cell_type": "markdown", "metadata": { "id": "N-lMxfs0gfF4" }, "source": [ "## 6. Avançando nos Operadores Matemáticos: Comparação\n", "\n", "### Diferença entre = e ==\n", "\n", "- **=** (atribuição): usado para **atribuir** um valor a uma variável\n", " - Exemplo: `boomer = \"Gabriel\"`\n", "\n", "- **==** (igualdade): usado para **comparar** se dois valores são iguais\n", " - Exemplo: `7 == 7` (verdadeiro), `\"sim\" == \"sim\"` (verdadeiro)\n", "\n", "- **!=** (diferente): usado para verificar se dois valores são **diferentes**" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "s-d7rumlglhr" }, "outputs": [], "source": [ "# Exemplos de operadores de comparação\n", "print(f\"7 == 7: {7 == 7}\")\n", "print(f\"1 == 1: {1 == 1}\")\n", "print(f\"'sim' == 'sim': {'sim' == 'sim'}\")\n", "print(f\"7 != 5: {7 != 5}\")\n", "print(f\"'sim' != 'não': {'sim' != 'não'}\")" ] }, { "cell_type": "markdown", "metadata": { "id": "3vuRTx-jgpzP" }, "source": [ "## 7. Exemplos Práticos\n", "\n", "Vamos ver alguns exemplos que combinam vários conceitos aprendidos:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "rdzXdffXgq2C" }, "outputs": [], "source": [ "# Exemplo 1: Calculadora simples com validação\n", "print(\"=== CALCULADORA SIMPLES ===\")\n", "numero1 = float(input(\"Digite o primeiro número: \"))\n", "numero2 = float(input(\"Digite o segundo número: \"))\n", "\n", "soma = numero1 + numero2\n", "print(f\"A soma de {numero1} + {numero2} = {soma}\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "FuMye02xgsZY" }, "outputs": [], "source": [ "# Exemplo 2: Verificador de idade com loop\n", "print(\"=== VERIFICADOR DE IDADE ===\")\n", "\n", "while True:\n", " idade = input(\"Digite sua idade (ou 'sair' para encerrar): \")\n", "\n", " if idade.lower() == \"sair\":\n", " print(\"Programa encerrado!\")\n", " break\n", "\n", " idade = int(idade)\n", " if idade >= 18:\n", " print(\"Maior de idade\")\n", " else:\n", " print(\"Menor de idade\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "UdxOJf7agujI" }, "outputs": [], "source": [ "# Exemplo 3: Comparação de textos\n", "print(\"=== COMPARAÇÃO DE TEXTOS ===\")\n", "\n", "palavra1 = input(\"Digite a primeira palavra: \")\n", "palavra2 = input(\"Digite a segunda palavra: \")\n", "\n", "if palavra1 == palavra2:\n", " print(\"As palavras são IGUAIS\")\n", "else:\n", " print(\"As palavras são DIFERENTES\")" ] } ], "metadata": { "colab": { "provenance": [] }, "kernelspec": { "display_name": "Python 3", "name": "python3" }, "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 0 }