Introdução
Neste laboratório, exploraremos como verificar se um número é zero em Python. O laboratório cobre conceitos fundamentais sobre zero, comparação direta com zero e o tratamento da precisão de ponto flutuante.
Começaremos criando um script Python para demonstrar as propriedades básicas de zero, incluindo adição, subtração e multiplicação. Também exploraremos o comportamento da divisão por zero, que levanta um erro em Python.
Explorar o Conceito de Zero
Nesta etapa, exploraremos o conceito de zero em Python. Zero é um valor numérico fundamental que representa a ausência de quantidade. Compreender como zero se comporta em diferentes contextos é crucial para escrever código Python preciso e confiável.
Primeiro, vamos criar um script Python simples para demonstrar as propriedades básicas de zero.
Abra o editor VS Code no ambiente LabEx.
Crie um novo arquivo chamado
zero_example.pyno diretório~/project.~/project/zero_example.pyAdicione o seguinte código a
zero_example.py:## Atribuindo zero a uma variável x = 0 ## Imprimindo o valor da variável print("O valor de x é:", x) ## Adicionando um número a zero y = x + 5 print("x + 5 =", y) ## Subtraindo um número de zero z = x - 3 print("x - 3 =", z) ## Multiplicando um número por zero result = 10 * x print("10 * x =", result)Este script demonstra operações aritméticas básicas envolvendo zero.
Salve o arquivo.
Execute o script usando o comando
pythonno terminal:python zero_example.pyVocê deve ver a seguinte saída:
O valor de x é: 0 x + 5 = 5 x - 3 = -3 10 * x = 0Como você pode ver, adicionar ou subtrair um número de zero resulta nesse número (ou seu negativo), e multiplicar qualquer número por zero resulta em zero.
Agora, vamos explorar a divisão por zero. A divisão por zero é indefinida em matemática e levantará um erro em Python.
Modifique o arquivo
zero_example.pypara incluir uma divisão por zero:## Atribuindo zero a uma variável x = 0 ## Imprimindo o valor da variável print("O valor de x é:", x) ## Adicionando um número a zero y = x + 5 print("x + 5 =", y) ## Subtraindo um número de zero z = x - 3 print("x - 3 =", z) ## Multiplicando um número por zero result = 10 * x print("10 * x =", result) ## Divisão por zero (causará um erro) try: division_result = 10 / x print("10 / x =", division_result) except ZeroDivisionError as e: print("Error:", e)Usamos um bloco
try-exceptpara lidar com o potencialZeroDivisionError.Salve o arquivo.
Execute o script novamente:
python zero_example.pyVocê deve ver a seguinte saída:
O valor de x é: 0 x + 5 = 5 x - 3 = -3 10 * x = 0 Error: division by zeroO script agora captura o
ZeroDivisionErrore imprime uma mensagem de erro informativa em vez de travar.
Compreender como lidar com zero em seu código é essencial para evitar erros inesperados e garantir que seus programas se comportem corretamente.
Comparação Direta com Zero
Nesta etapa, aprenderemos como comparar números diretamente com zero em Python. A comparação direta é uma maneira simples de verificar se um número é igual a, maior que ou menor que zero. Esta é uma operação comum em muitas tarefas de programação, como validar entrada, controlar o fluxo do programa e implementar funções matemáticas.
Vamos criar um script Python para demonstrar a comparação direta com zero.
Abra o editor VS Code no ambiente LabEx.
Crie um novo arquivo chamado
compare_zero.pyno diretório~/project.~/project/compare_zero.pyAdicione o seguinte código a
compare_zero.py:## Atribuindo um número a uma variável number = 5 ## Comparando o número com zero if number > 0: print(number, "é maior que zero") elif number < 0: print(number, "é menor que zero") else: print(number, "é igual a zero") ## Mudando o valor do número para zero number = 0 ## Comparando o número com zero novamente if number > 0: print(number, "é maior que zero") elif number < 0: print(number, "é menor que zero") else: print(number, "é igual a zero") ## Mudando o valor do número para um número negativo number = -3 ## Comparando o número com zero mais uma vez if number > 0: print(number, "é maior que zero") elif number < 0: print(number, "é menor que zero") else: print(number, "é igual a zero")Este script compara diferentes números com zero usando as instruções
if,elifeelse.Salve o arquivo.
Execute o script usando o comando
pythonno terminal:python compare_zero.pyVocê deve ver a seguinte saída:
5 é maior que zero 0 é igual a zero -3 é menor que zeroO script identifica corretamente se o número é maior que, menor que ou igual a zero.
A comparação direta com zero é simples e eficiente para valores inteiros. No entanto, ao lidar com números de ponto flutuante, você precisa ter cautela devido a potenciais problemas de precisão, que exploraremos na próxima etapa.
Lidar com a Precisão de Ponto Flutuante
Nesta etapa, discutiremos como lidar com a precisão de ponto flutuante ao comparar números de ponto flutuante com zero. Devido à forma como os números de ponto flutuante são representados em computadores, eles são frequentemente sujeitos a pequenos erros de arredondamento. Isso pode levar a resultados inesperados ao compará-los diretamente com zero.
Por exemplo, um cálculo que teoricamente deveria resultar em zero pode, na verdade, produzir um número muito pequeno diferente de zero, como 1e-16 (0.0000000000000001). Comparar diretamente este número com zero usando == retornará False, o que pode não ser o resultado desejado.
Para lidar com isso, normalmente usamos um valor de tolerância (também conhecido como épsilon) para verificar se um número de ponto flutuante está "suficientemente próximo" de zero.
Vamos criar um script Python para demonstrar isso.
Abra o editor VS Code no ambiente LabEx.
Crie um novo arquivo chamado
float_precision.pyno diretório~/project.~/project/float_precision.pyAdicione o seguinte código a
float_precision.py:## Importando o módulo math import math ## Definindo um valor de tolerância (épsilon) tolerance = 1e-9 ## Um valor pequeno como 0.000000001 ## Um número de ponto flutuante que está muito próximo de zero devido ao cálculo number = 1e-10 ## Comparação direta com zero (pode falhar) if number == 0: print("Comparação direta: número é zero") else: print("Comparação direta: número não é zero") ## Usando a tolerância para comparar com zero if math.isclose(number, 0, abs_tol=tolerance): print("Comparação com tolerância: número está próximo de zero") else: print("Comparação com tolerância: número não está próximo de zero") ## Outro exemplo com um número ligeiramente maior number = 1e-7 ## Comparação direta com zero (falhará) if number == 0: print("Comparação direta: número é zero") else: print("Comparação direta: número não é zero") ## Usando a tolerância para comparar com zero if math.isclose(number, 0, abs_tol=tolerance): print("Comparação com tolerância: número está próximo de zero") else: print("Comparação com tolerância: número não está próximo de zero")Este script demonstra como usar a função
math.isclose()com um valor de tolerância para comparar números de ponto flutuante com zero.Salve o arquivo.
Execute o script usando o comando
pythonno terminal:python float_precision.pyVocê deve ver a seguinte saída:
Comparação direta: número não é zero Comparação com tolerância: número está próximo de zero Comparação direta: número não é zero Comparação com tolerância: número não está próximo de zeroComo você pode ver, a comparação direta falha porque o número não é exatamente zero. No entanto, ao usar um valor de tolerância com
math.isclose(), a comparação identifica corretamente que o número está próximo de zero.
A função math.isclose() verifica se dois valores de ponto flutuante estão próximos um do outro dentro de uma tolerância especificada. O argumento abs_tol especifica a tolerância absoluta. Se a diferença absoluta entre os dois números for menor ou igual à tolerância, a função retorna True.
Ao usar um valor de tolerância, você pode evitar problemas causados pela precisão de ponto flutuante e garantir que suas comparações com zero sejam precisas e confiáveis.
Resumo
Neste laboratório, começamos explorando o conceito fundamental de zero em Python, compreendendo seu comportamento em operações aritméticas básicas. Criamos um script zero_example.py para demonstrar que adicionar ou subtrair um número de zero resulta nesse número (ou seu negativo), e multiplicar qualquer número por zero resulta em zero.
O script foi executado para observar essas propriedades, preparando o terreno para uma exploração mais aprofundada do zero em Python, incluindo as implicações da divisão por zero.



