Par ou Ímpar em Python (e outros múltiplos)

Neste tutorial de nosso Curso de Python Online Grátis, vamos fazer um script que diz se o número digitado pelo usuário é par ou ímpar.

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:

Como saber se o número é par ou ímpar
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)

Nenhum comentário:

Postar um comentário