Como Verificar se um Número é Divisível por Outro em Python

PythonBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se um número é divisível por outro número usando Python. O laboratório se concentra em entender o conceito de divisibilidade e aplicar o operador de módulo (%) para determinar se um número pode ser dividido uniformemente por outro, sem deixar resto.

Você criará um script Python chamado divisibility.py que demonstra como usar o operador de módulo para verificar a divisibilidade por 2, 3 e 5. Ao executar o script, você observará a saída indicando se o número 10 é divisível por cada um desses números. Essa experiência prática solidificará sua compreensão da divisibilidade e do operador de módulo em Python.

Aprenda sobre Divisibilidade

Nesta etapa, você aprenderá sobre divisibilidade em matemática e como ela se relaciona com a programação. Divisibilidade é um conceito fundamental que nos ajuda a entender se um número pode ser dividido uniformemente por outro número, sem deixar resto. Este conceito é crucial em várias tarefas de programação, como validação de dados, otimização de algoritmos e muito mais.

Vamos começar com um exemplo simples. Considere o número 10. Ele é divisível por 2 porque 10 dividido por 2 é igual a 5, sem resto. Da mesma forma, 10 é divisível por 5 porque 10 dividido por 5 é igual a 2, sem resto. No entanto, 10 não é divisível por 3 porque 10 dividido por 3 é igual a 3 com um resto de 1.

Em Python, podemos verificar a divisibilidade usando o operador de módulo (%). O operador de módulo retorna o resto de uma divisão. Se o resto for 0, significa que o número é divisível.

Para demonstrar isso, vamos criar um script Python chamado divisibility.py em seu diretório ~/project usando o editor VS Code.

## Create a script named divisibility.py
## Open VS Code editor and create a new file named divisibility.py in ~/project directory
## Add the following content to the file

number = 10

## Check if the number is divisible by 2
if number % 2 == 0:
    print(f"{number} is divisible by 2")
else:
    print(f"{number} is not divisible by 2")

## Check if the number is divisible by 3
if number % 3 == 0:
    print(f"{number} is divisible by 3")
else:
    print(f"{number} is not divisible by 3")

## Check if the number is divisible by 5
if number % 5 == 0:
    print(f"{number} is divisible by 5")
else:
    print(f"{number} is not divisible by 5")

Agora, vamos executar o script usando o interpretador Python. Abra seu terminal e navegue até o diretório ~/project:

cd ~/project

Em seguida, execute o script:

python divisibility.py

Você deve ver a seguinte saída:

10 is divisible by 2
10 is not divisible by 3
10 is divisible by 5

Esta saída confirma que 10 é divisível por 2 e 5, mas não por 3, como discutimos anteriormente.

Entender a divisibilidade e usar o operador de módulo são habilidades essenciais para qualquer programador Python. Nas próximas etapas, exploraremos aplicações mais avançadas desses conceitos.

Usar o Operador Módulo

Nesta etapa, vamos nos aprofundar no operador de módulo (%) e explorar suas várias aplicações em Python. Como você aprendeu na etapa anterior, o operador de módulo retorna o resto de uma divisão. Essa operação aparentemente simples é incrivelmente versátil e pode ser usada para resolver uma ampla gama de problemas de programação.

Um caso de uso comum para o operador de módulo é determinar se um número é par ou ímpar. Um número par é divisível por 2, enquanto um número ímpar não é. Podemos verificar isso facilmente usando o operador de módulo:

## Create a script named even_odd.py
## Open VS Code editor and create a new file named even_odd.py in ~/project directory
## Add the following content to the file

number = 17

if number % 2 == 0:
    print(f"{number} is even")
else:
    print(f"{number} is odd")

Salve este código como even_odd.py em seu diretório ~/project. Agora, vamos executar o script:

cd ~/project
python even_odd.py

Você deve ver a seguinte saída:

17 is odd

Outra aplicação útil do operador de módulo é percorrer uma sequência de números. Por exemplo, suponha que você queira atribuir cores diferentes a uma série de itens e tenha apenas um número limitado de cores. Você pode usar o operador de módulo para percorrer as cores:

## Create a script named colors.py
## Open VS Code editor and create a new file named colors.py in ~/project directory
## Add the following content to the file

items = ["apple", "banana", "cherry", "date", "elderberry"]
colors = ["red", "yellow", "purple"]

for i, item in enumerate(items):
    color_index = i % len(colors)
    color = colors[color_index]
    print(f"{item} is {color}")

Salve este código como colors.py em seu diretório ~/project. Agora, vamos executar o script:

cd ~/project
python colors.py

Você deve ver a seguinte saída:

apple is red
banana is yellow
cherry is purple
date is red
elderberry is yellow

Neste exemplo, o operador de módulo garante que o color_index permaneça dentro dos limites da lista colors, permitindo que percorramos as cores repetidamente.

O operador de módulo também é útil para tarefas como validação de dados de entrada, geração de padrões e implementação de algoritmos criptográficos. À medida que você continua sua jornada em Python, encontrará muitas outras maneiras criativas de usar este poderoso operador.

Lidar com Divisão por Zero

Nesta etapa, você aprenderá como lidar com erros de divisão por zero em Python. A divisão por zero é um erro comum que ocorre quando você tenta dividir um número por zero. Em matemática, a divisão por zero é indefinida e, em programação, geralmente resulta em um erro que pode travar seu programa.

Vamos ver o que acontece quando tentamos dividir por zero em Python:

## Create a script named division_error.py
## Open VS Code editor and create a new file named division_error.py in ~/project directory
## Add the following content to the file

numerator = 10
denominator = 0

result = numerator / denominator

print(result)

Salve este código como division_error.py em seu diretório ~/project. Agora, vamos executar o script:

cd ~/project
python division_error.py

Você deve ver uma mensagem de erro como esta:

Traceback (most recent call last):
  File "/home/labex/project/division_error.py", line 4, in <module>
    result = numerator / denominator
ZeroDivisionError: division by zero

O ZeroDivisionError indica que tentamos dividir por zero. Para evitar que esse erro trave nosso programa, podemos usar técnicas de tratamento de erros. Uma abordagem comum é usar um bloco try-except:

## Create a script named safe_division.py
## Open VS Code editor and create a new file named safe_division.py in ~/project directory
## Add the following content to the file

numerator = 10
denominator = 0

try:
    result = numerator / denominator
    print(result)
except ZeroDivisionError:
    print("Error: Cannot divide by zero")

Salve este código como safe_division.py em seu diretório ~/project. Agora, vamos executar o script:

cd ~/project
python safe_division.py

Você deve ver a seguinte saída:

Error: Cannot divide by zero

Neste exemplo, o bloco try tenta realizar a divisão. Se um ZeroDivisionError ocorrer, o bloco except é executado, que imprime uma mensagem de erro em vez de travar o programa.

Outra abordagem é verificar se o denominador é zero antes de realizar a divisão:

## Create a script named check_division.py
## Open VS Code editor and create a new file named check_division.py in ~/project directory
## Add the following content to the file

numerator = 10
denominator = 0

if denominator == 0:
    print("Error: Cannot divide by zero")
else:
    result = numerator / denominator
    print(result)

Salve este código como check_division.py em seu diretório ~/project. Agora, vamos executar o script:

cd ~/project
python check_division.py

Você deve ver a seguinte saída:

Error: Cannot divide by zero

Ambas as abordagens permitem que você lide com erros de divisão por zero de forma elegante e evite que seu programa trave. Escolha a abordagem que melhor se adapta às suas necessidades e estilo de codificação.

Resumo

Neste laboratório, você aprendeu sobre o conceito de divisibilidade em matemática e sua aplicação na programação Python. Você explorou como determinar se um número é divisível por outro número, verificando se o resto de sua divisão é zero.

Você utilizou o operador de módulo (%) em Python para encontrar o resto de uma divisão e implementou instruções condicionais para imprimir se um número é divisível por 2, 3 e 5. Você criou e executou um script Python chamado divisibility.py para demonstrar este conceito.