Resumo : neste tutorial, você aprenderá sobre o operador módulo Python ( %
) e como usá-lo de forma eficaz.
Introdução ao operador de módulo Python
Python usa o sinal de porcentagem (%) como operador de módulo. O operador módulo sempre satisfaz a seguinte equação:
N = D * ( N // D) + (N % D)
Linguagem de código: JavaScript ( javascript )
Nesta equação:
- N é o numerador.
- D é o denominador.
- // é o operador de divisão de piso
- E% é o operador de módulo
Se ambos N e D forem inteiros positivos , o operador módulo retorna o resto de N/D. No entanto, não é o caso dos números negativos. Portanto, você deve sempre seguir a equação acima.
Exemplos simples de operadores de módulo Python
O exemplo a seguir ilustra como usar o operador módulo (%) com números inteiros positivos:
a = 16
b = 5
m = a % b
f = a // b
# show the result
print(f'{a} % {b} = {m}') # 1
print(f'{a} // {b} = {f}') # 3
Linguagem de código: Python ( python )
Saída:
1
3
Para números positivos, o resultado é bastante aparente. E você pode verificar a equação rapidamente:
16 = 5 * (16 // 5) + 16 % 5
16 = 5 * 3 + 1
Linguagem de código: JavaScript ( javascript )
A seguir mostramos como usar o operador de módulo ( %
) com números inteiros negativos:
a = -16
b = 5
m = a % b
f = a // b
# show the result
print(f'{a} % {b} = {m}') # 4
print(f'{a} // {b} = {f}') # -4
Linguagem de código: Python ( python )
E a equação está satisfeita:
-16 = 5 * (-16 % 5) + (-16) % 5
-16 = 5 * -4 - 4
Exemplos práticos de operadores de módulo Python
Vejamos alguns exemplos práticos de uso do operador módulo (%)
1) Usando o operador módulo para verificar se um número é par ou ímpar
O seguinte define uma função que usa o operador módulo (%) para verificar se um número é par:
def is_even(num):
return num % 2 == 0
Linguagem de código: Python ( python )
E o seguinte define uma função que usa o operador módulo para verificar se um número é ímpar:
def is_odd(num):
return num % 2 != 0
Linguagem de código: JavaScript ( javascript )
2) Usando o operador módulo para converter unidades
O exemplo a seguir usa o operador de módulo ( %
) para converter segundos em dias, horas, minutos e segundos. Pode ser útil se você deseja desenvolver um programa de contagem regressiva:
from math import floor
def get_time(total_seconds):
return {
'days': floor(total_seconds / 60 / 60 / 24),
'hours': floor(total_seconds / 60 / 60) % 24,
'minutes': floor(total_seconds / 60) % 60,
'seconds': total_seconds % 60,
}
print(get_time(93750))
Linguagem de código: Python ( python )
Saída:
{'days': 1, 'hours': 2, 'minutes': 2, 'seconds': 30}
Linguagem de código: JavaScript ( javascript )
Resumo
- Python usa o sinal de porcentagem (
%
) como operador de módulo. - O operador módulo (%) sempre satisfaz a equação
N = D * ( N // D) + (N % D)
.