Vamos fazer isso usando o operador % de resto da divisão.
Resto da Divisão em Python: %
Antes de mostrar o exercício, resolver e comentar o código de como descobrir se um número é par ou ímpar em Python, precisamos revistar um tutorial antigo:Operações matemáticas em Python
Lá estudamos o operador % que é o operador de resto da divisão.
Talvez você não lembre direito que troço é isso de resto da divisão.
Mas vamos voltar pra época da escolinha, quando fazíamos continhas de dividir:
O segredo está ali, no resto. O que sobra.
Ele é o segredo de tudo.
Para saber se um número é par ou ímpar, basta dividir ele por 2.
Se for par, o resto é sempre 0, não sobra nada.
Já se for ímpar, vai sempre ter resto 1.
Saber se é Par ou Ímpar em Python
" Faça um Programa que peça um número inteiro e determine se ele é par ou ímpar. Dica: utilize o operador módulo (resto da divisão): %"Inicialmente pedimos um número ao usuário, e armazenamos na variável 'numero'. Agora, com um simples teste condicional IF vamos verificar o resto da divisão dele por 2.
Se o resultado for 0, é par e cai no print do IF, dizendo que é par.
Se não for 0 o resto, é porque vai ser 1 e cai no ELSE onde printamos que é ímpar:
numero = int(input('Digite um inteiro: ')) if (numero%2) == 0: print("Par") else: print("Ímpar")
Aperfeiçoando código Python
Já dissemos, em algum tutorial anterior, que 1 equivale ao True e 0 ao False.Quando fazemos o resto da divisão por 2, o resultado é sempre 0 ou 1.
Então nosso código poderia ser assim:
numero = int(input('Digite um inteiro: ')) if numero%2 : print("Ímpar") else: print("Par")
Veja que se o resultado da operação for 1, cai no IF que diz que é ímpar,se for 0 vai pro ELSE que diz que é par.
Bem mais chique, não acha?
Resto da divisão por 3:
"Faça um programa que recebe um inteiro do usuário e diz se esse número é múltiplo de 3 ou não".Veja o código e tente entender:
numero = int(input('Digite um inteiro: ')) if not (numero%3) : print("É múltiplo de 3") else: print("Não é múltiplo de 3")
Um número é múltiplo de 3 se o resto da divisão dele por 3 for 0.
Então fazemos o teste: numero % 3
Se este resultado for 0, o IF não é executado, pois dá falso.
Então o que fazemos? Invertemos com o operador not
Sempre que algo for TRUE o not transforma em FALSE, e vice-versa.
Assim colocamos um not antes do (numero%3) e quando for múltiplo de 3, a expressão not (numero%3) vira TRUE e cai no IF dizendo que é múltiplo de 3.
Fodástico, não ?
Curiosidade sobre resto da divisão %
O resto da divisão de um número por 2 pode ser:0 ou 1
O resto da divisão de um número por 3 pode ser:
0, 1 ou 2
O resto da divisão de um número por 4 pode ser:
0, 1, 2 ou 3
O resto da divisão de um número por 5 pode ser:
0, 1, 2, 3 ou 4
...
...
...
O resto da divisão de um número por n pode ser:
0, 1, 2, 3, ..., (n-1)
Excelente postagem
ResponderExcluirGostei.
ResponderExcluirFiz o meu assim
ResponderExcluirnum = int(input('Digite um número inteiro qualquer: '))
div = num % 2
if div == 1:
print('O número digitado é ÍMPAR!')
else:
print('O número digitado é PAR!')
mas simples assim:
Excluirn = int(input('Digite um número: '))
if (n%2) == 0:
print(f'{n} é um número par.')
else:
print(f'{n} é um número ímpar.')
irmão na hora do print dentro do IF, os seus colchetes você tira o "n" e coloca o ".format(n)" pq assim a sua linha de codigo fica mais bonita e limpa
Excluirótimo, muito bom!
ResponderExcluirmuito obrigado me ajudou muito
ResponderExcluirPor quê inverte as posições de 'Impar' e 'Par', nos 2 primeiros exemplos? N'ao entendi a lógica.
ResponderExcluirporque se você dividir qualquer número par por 2 ele vai dar 1, qualquer outra coisa além disso é ímpar
Excluirnb = float(input("digite um número"))
Excluirif nb % 2:
print("ímpar")
else:
print("par")
#pode testar
num1 = int(input("Informe um número: "))
ResponderExcluirif num1%2==0:
print("Este número é par")
else:
print("Este número é impar")
pq um número float ex: 4.2 o resultado é impar?
ResponderExcluirAcho que essa questão se refere a numeros inteiros. Não tem sentido questionar decimail par ou impar...
ExcluirPeça ao usuário dois valores, um inicial e outro final. Mostre só os números pares
ResponderExcluirdentre os números digitados.Por favor,me ajudam
amigos, preciso de uma ajuda: preciso montar, em python, uma lista onde seo numero for par entra na lista, se for impar retira e zero esvazia a pilha e imprime os elemtnos da ordem que foram tirados...
ResponderExcluirFiz o meu assim ficou bom?:
ResponderExcluirA = float(input("Digite um número inteiro para descobrir se ele é par ou ímpar"))
if isinstance(A, int) and A % 2 == 0:
print(f'O número {A} é par')
elif isinstance(A, int) and not A % 2 == 0:
print(f'O número {A} é ímpar')
else:
print(f'Deu um erro, por favor digite um número inteiro')
nao
ExcluirEu fiz assim, esta certo?
ResponderExcluirnum = input('Informe seu numero: ')
if num.isdigit():
num = int(num)
if num % 2 == 0:
print('Par')
else:
print('Ímpar')
else:
print('N~so é um numero inteiro')
ajudou demais, obrigado!
ResponderExcluirn = input('digite um número inteiro: ')
ResponderExcluirwhile n == str(n):
try:
n = int(n)
except ValueError as erro:
print('o número não é inteiro')
n = input('digite um número inteiro: ')
n = int(n)
if n % 2 == 0 and n != 0:
print(f'{n} é par')
elif n == 0:
print('zero não dá né meu neubre')
else:
print(f'{n} é ímpar')
# com debug
n = input('digite um número inteiro: ')
ResponderExcluirwhile n == str(n):
try:
n = int(n)
except ValueError as erro:
print('o número não é inteiro')
n = input('digite um número inteiro: ')
n = int(n)
if n % 2 == 0 and n != 0:
print(f'{n} é par')
elif n == 0:
print('zero não dá né meu neubre')
else:
print(f'{n} é ímpar')
# com debug