Turma Online On33 | Semana 03 | 2024 | Professora Jenifer Plácido
Bem-vindas On33! Nessa aula vamos explorar condicionais, operadores lógicos, tipos de erros, e técnicas de depuração, tudo isso de uma forma divertida e fácil de entender. Vamos lá! 🚀
- Compreender e utilizar operadores de comparação.
- Implementar declarações condicionais simples e alternativas.
- Utilizar operadores lógicos em expressões condicionais.
- Identificar e entender diferentes tipos de erros em Python.
- Aprender a usar o debugger.
- Utilizar
try
eexcept
para tratamento de erros.
As condicionais permitem que seu programa tome decisões com base em condições. É como se o código perguntasse "E se isso acontecer?"
O if
é usado para tomar decisões com base em uma condição. Se a condição for verdadeira, o código dentro do if
será executado. Caso contrário, ele será ignorado.
if condição:
# código a ser executado se a condição for verdadeira
Imagine que você quer saber se alguém é maior de idade. Você poderia escrever o seguinte código:
idade = 20
if idade >= 18:
print("Você é maior de idade!")
Neste exemplo, a condição idade >= 18
é verdadeira porque idade
é 20. Então, a mensagem "Você é maior de idade!" será exibida.
O else
é usado junto com o if
para fornecer uma alternativa. Se a condição do if
for falsa, o código dentro do else
será executado.
if condição:
# código a ser executado se a condição for verdadeira
else:
# código a ser executado se a condição for falsa
Vamos expandir nosso exemplo anterior para incluir uma mensagem caso a pessoa não seja maior de idade:
idade = 16
if idade >= 18:
print("Você é maior de idade!")
else:
print("Você é menor de idade.")
Neste exemplo, a condição idade >= 18
é falsa porque idade
é 16. Portanto, a mensagem "Você é menor de idade." será exibida.
O if
e o else
são usados para controlar o fluxo do seu programa. Eles permitem que seu código tome decisões e execute diferentes ações com base em condições específicas. Isso torna seu programa mais inteligente e flexível.
Às vezes, temos mais de duas condições. Para isso, usamos elif
.
nota = 85
if nota >= 90:
print("A")
elif nota >= 80:
print("B")
elif nota >= 70:
print("C")
else:
print("D")
Os operadores lógicos nos ajudam a combinar várias condições. Vamos ver como usar and
, or
e not
.
O and
é verdadeiro se ambas as condições forem verdadeiras.
nota = 85
presenca = 90
if nota >= 70 and presenca >= 75:
print("Aprovado!")
else:
print("Reprovado!")
O or
é verdadeiro se pelo menos uma das condições for verdadeira.
feriado = False
fim_de_semana = True
if feriado or fim_de_semana:
print("Você pode descansar!")
else:
print("Você tem que trabalhar!")
O not
inverte o valor de uma condição.
chovendo = False
if not chovendo:
print("Você pode sair sem guarda-chuva!")
Erros são uma parte natural da programação. Eles ocorrem quando o código não consegue executar a tarefa desejada por algum motivo. Compreender os tipos de erros pode ajudar a diagnosticar problemas no código e corrigi-los de forma mais eficaz. Vamos explorar os principais tipos de erros em Python e entender para que servem e como tratá-los.
Erros de sintaxe ocorrem quando o Python não consegue entender o código porque ele não segue as regras da linguagem. É como se você estivesse escrevendo uma frase em uma língua que o computador não entende.
Eles servem para nos alertar de que há algo errado na estrutura do nosso código, e precisamos corrigir isso antes que ele possa ser executado.
if True
print("Erro de sintaxe!") # Faltou o ':' após 'True'
A mensagem de erro será algo como:
SyntaxError: invalid syntax
Para corrigir, adicione os dois pontos:
if True:
print("Erro de sintaxe corrigido!")
Erros de execução ocorrem quando o código é sintaticamente correto, mas algo dá errado enquanto ele está rodando. Isso pode acontecer por diversas razões, como tentar dividir por zero ou acessar uma variável que não existe.
Eles servem para nos alertar de problemas que só aparecem durante a execução do programa, geralmente relacionados aos dados com os quais o programa está lidando.
a = 1 / 0 # Erro de execução
A mensagem de erro será algo como:
ZeroDivisionError: division by zero
Para corrigir, evite dividir por zero:
a = 1 / 1 # Código correto
Erros lógicos ocorrem quando o código roda sem problemas, mas não faz o que deveria fazer. Esse tipo de erro é mais difícil de detectar porque não gera mensagens de erro.
Eles servem para nos alertar que, embora o código esteja livre de erros de sintaxe e de execução, ele não está funcionando conforme esperado, o que geralmente indica um problema na lógica do programa.
Vamos supor que você quer verificar se um número é par, mas comete um erro na condição:
numero = 4
if numero % 2 != 0:
print("O número é par.") # Erro lógico
else:
print("O número é ímpar.")
Embora o código rode sem erros, a lógica está incorreta.
Para corrigir, ajuste a condição:
numero = 4
if numero % 2 == 0:
print("O número é par.") # Correto
else:
print("O número é ímpar.")
Erros de importação ocorrem quando o Python não consegue encontrar o módulo que você está tentando importar.
Eles servem para nos alertar que estamos tentando usar um módulo ou biblioteca que não está disponível ou que foi digitado incorretamente.
import non_existent_module # Erro de importação
A mensagem de erro será algo como:
ModuleNotFoundError: No module named 'non_existent_module'
Para corrigir, verifique se o nome do módulo está correto ou se ele está instalado:
import this # Correto
Erros de tipo ocorrem quando você tenta realizar uma operação em um tipo de dado que não é compatível com essa operação.
Eles servem para nos alertar que estamos tentando realizar uma operação com tipos de dados que não são compatíveis entre si.
a = "string" + 5 # Erro de tipo
A mensagem de erro será algo como:
TypeError: can only concatenate str (not "int") to str
Para corrigir, converta o número para string ou use apenas strings:
a = "string" + str(5) # Correto
Erros são uma parte inevitável da programação, mas compreender os diferentes tipos de erros pode tornar a depuração mais fácil e rápida. Saber o que cada erro significa e como corrigi-lo é uma habilidade fundamental para qualquer programador. Continue praticando e não se desespere com os erros – eles são oportunidades para aprender e melhorar seu código!
Um bug é um erro ou falha no código que faz com que o programa funcione de maneira incorreta ou não funcione de todo. Bugs podem surgir de diversas formas, como erros de sintaxe, erros de execução, erros lógicos, entre outros. Encontrar e corrigir esses bugs é uma parte fundamental do trabalho de um programador.
Um debugger é uma ferramenta que ajuda os programadores a encontrar e corrigir bugs em seu código. Ele permite que você execute seu programa passo a passo, examine o fluxo de execução e inspecione as variáveis em tempo real.
O debugger serve para:
- Identificar erros: Encontrar onde e por que o código falha.
- Entender o fluxo do programa: Verificar a ordem de execução do código.
- Inspecionar variáveis: Verificar os valores das variáveis em diferentes pontos da execução.
- Diagnosticar problemas: Verificar a lógica do programa e garantir que ele esteja funcionando conforme o esperado.
Vamos aprender a usar o debugger no Visual Studio Code (VS Code) passo a passo.
Se você ainda não tem o VS Code instalado, baixe e instale a partir do site oficial.
Certifique-se de que a extensão Python do Microsoft está instalada no VS Code. Vá para a aba de Extensões (Ctrl+Shift+X
) e procure por "Python". Instale a extensão da Microsoft.
- Abra o projeto ou arquivo Python que você deseja depurar.
- Configure o Python Interpreter: Selecione o interpretador Python certo para o seu projeto. Você pode fazer isso clicando no canto inferior esquerdo da janela do VS Code, onde está escrito a versão do Python, e selecionando o interpretador correto.
Adicione pontos de interrupção clicando na margem esquerda ao lado do número da linha onde você deseja que a execução pause.
def soma(a, b):
resultado = a + b
return resultado
x = 10
y = 5
z = soma(x, y)
print(f"O resultado é {z}")
Clique ao lado da linha resultado = a + b
para adicionar um ponto de interrupção.
- Abrir a Paleta de Comandos: Pressione
Ctrl+Shift+P
e digite "Debug: Start Debugging". - Escolher a Configuração: Selecione "Python File" para depurar o arquivo Python atual.
Uma vez que a depuração iniciar, você verá a barra de ferramentas do debugger na parte superior do VS Code.
- Continuar (
F5
): Continua a execução até o próximo ponto de interrupção. - Passar por cima (
F10
): Executa a próxima linha de código, mas não entra em funções. - Entrar (
F11
): Entra na próxima função chamada. - Sair (
Shift+F11
): Sai da função atual e retorna para a função chamadora. - Reiniciar (
Ctrl+Shift+F5
): Reinicia a sessão de depuração. - Parar (
Shift+F5
): Para a sessão de depuração.
- Painel de Variáveis: Veja os valores das variáveis na seção "Variables" na barra lateral esquerda.
- Pilha de Chamadas: Veja a pilha de chamadas na seção "Call Stack". Isso mostra a ordem das chamadas de funções.
- Console de Depuração: Execute comandos de Python diretamente no contexto atual do depurador.
Você pode adicionar variáveis ou expressões para monitorar no painel "Watch". Clique no +
e digite o nome da variável ou expressão que deseja observar.
"Try" e "Except" são palavras-chave em Python usadas para tratar erros de forma elegante e controlada. Elas ajudam a garantir que seu programa não quebre quando encontra um erro e permite que você lide com o problema de maneira adequada.
Imagine que seu código é como dirigir um carro. Você pode encontrar obstáculos na estrada (erros). Usar "try" e "except" é como ter um plano de emergência para lidar com esses obstáculos sem parar completamente.
- try: Tentar. Você usa "try" para tentar executar um bloco de código que pode causar um erro.
- except: Exceto. Você usa "except" para especificar o que deve ser feito se um erro ocorrer no bloco "try".
try:
# Tente executar este código
...
except:
# Se um erro ocorrer, execute este código
...
- else: Um bloco opcional que é executado se não houver erros.
- finally: Um bloco opcional que é sempre executado, independentemente de erros.
try:
# Tente executar este código
numerador = 10
denominador = 2
resultado = numerador / denominador
print(f"O resultado é {resultado}")
except ZeroDivisionError:
# Se um erro de divisão por zero ocorrer, execute este código
print("Erro: Não é possível dividir por zero.")
else:
# Se não houver erros, execute este código
print("Divisão realizada com sucesso.")
finally:
# Sempre execute este código, independentemente de erros
print("Fim do bloco try-except.")
- else: Executado apenas se o bloco "try" não levantar nenhum erro. No nosso exemplo, "Divisão realizada com sucesso." será impresso porque
denominador
não é zero. - finally: Sempre executado, independentemente de erros. No nosso exemplo, "Fim do bloco try-except." será sempre impresso.
Usar "try" e "except" em Python é como ter um plano de emergência. Eles ajudam a garantir que seu programa continue funcionando mesmo quando encontra problemas, permitindo que você lide com esses problemas de maneira controlada e elegante. Continuar praticando e usando essas ferramentas irá melhorar suas habilidades de programação e tornar seu código mais robusto e confiável.
Aqui estão algumas atividades simples para praticar o uso de try
e except
junto com condicionais if
e else
em Python. Essas atividades são projetadas para ajudar iniciantes a entender como tratar erros e usar condicionais para controlar o fluxo do programa.
Crie um programa que pede ao usuário para inserir dois números e tenta dividir o primeiro pelo segundo. Use try
e except
para lidar com o erro de divisão por zero.
- Peça ao usuário para inserir dois números.
- Tente dividir o primeiro número pelo segundo.
- Use
try
eexcept
para tratar a divisão por zero. - Exiba uma mensagem apropriada se o divisor for zero.
Crie um programa que pede ao usuário para inserir um número inteiro e usa try
e except
para garantir que a entrada seja realmente um número inteiro.
- Peça ao usuário para inserir um número.
- Use
try
eexcept
para verificar se a entrada é um número inteiro. - Se a entrada não for um número inteiro, exiba uma mensagem de erro.
Crie um programa que pede ao usuário para inserir um número inteiro e verifica se o número é par ou ímpar. Use try
e except
para garantir que a entrada seja um número inteiro.
- Peça ao usuário para inserir um número.
- Use
try
eexcept
para verificar se a entrada é um número inteiro. - Use
if
eelse
para verificar se o número é par ou ímpar. - Exiba uma mensagem apropriada.
Crie um programa que pede ao usuário para inserir uma temperatura em graus Celsius e converte para Fahrenheit. Use try
e except
para garantir que a entrada seja um número.
- Peça ao usuário para inserir uma temperatura em graus Celsius.
- Use
try
eexcept
para verificar se a entrada é um número. - Converta a temperatura para Fahrenheit usando a fórmula: ( F = C \times \frac{9}{5} + 32 ).
- Exiba a temperatura convertida.
Vamos criar algumas atividades simples que envolvem funções em Python, uso de funções internas, e tratamento de erros com try
e except
. Estas atividades são projetadas para iniciantes e usam condicionais if
e else
para controlar o fluxo do programa.
Crie uma função que soma dois números fornecidos pelo usuário. Use try
e except
para garantir que as entradas sejam números e exiba o resultado da soma.
- Crie uma função
soma
que recebe dois parâmetros. - Dentro da função, some os dois parâmetros e retorne o resultado.
- Peça ao usuário para inserir dois números.
- Use
try
eexcept
para garantir que as entradas sejam números. - Chame a função
soma
e exiba o resultado.
Crie uma função que verifica se um número é par ou ímpar. Use try
e except
para garantir que a entrada seja um número.
- Crie uma função
verificar_par_impar
que recebe um parâmetro. - Use uma condicional
if
para verificar se o número é par ou ímpar e retorne a string apropriada. - Peça ao usuário para inserir um número.
- Use
try
eexcept
para garantir que a entrada seja um número. - Chame a função
verificar_par_impar
e exiba o resultado.
Crie uma função que converte uma temperatura de graus Celsius para Fahrenheit. Use try
e except
para garantir que a entrada seja um número.
- Crie uma função
celsius_para_fahrenheit
que recebe um parâmetro. - Converta a temperatura de Celsius para Fahrenheit usando a fórmula: ( F = C \times \frac{9}{5} + 32 ).
- Retorne a temperatura convertida.
- Peça ao usuário para inserir uma temperatura em graus Celsius.
- Use
try
eexcept
para garantir que a entrada seja um número. - Chame a função
celsius_para_fahrenheit
e exiba o resultado.
Crie uma função que conta o número de caracteres em uma string fornecida pelo usuário. Use try
e except
para garantir que a entrada seja uma string.
- Crie uma função
contar_caracteres
que recebe um parâmetro. - Use a função interna
len
para contar o número de caracteres na string e retorne o resultado. - Peça ao usuário para inserir uma string.
- Use
try
eexcept
para garantir que a entrada seja uma string. - Chame a função
contar_caracteres
e exiba o resultado.
Deixe o passado guardado, carregue apenas os aprendizados e se renove! Bons estudos 🎉