Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como saber se um número é inteiro ou decimal?

Olá professor(a)

Gostaria de saber como faço para saber se um número é decimal ou inteiro.

num1 = int(input('Digite um número: '))
num2 = int(input('Digite outro número: '))
operador = input('Digite qual operador deseja: ')

if operador == '/':
    resultado = num1 / num2
    print('O resultado de {} / {} é: {}'.format(num1, num2, resultado))
    if resultado % 2 == 0:
        print('O resultado é par')
    else:
        print('O resultado é impar')
    if resultado >= 0:
        print('O resultado é positivo')
    else:
        print('O resultado é negativo')
    if '.' in resultado:
        print('O resultado é decimal')
    else:
        print('O resultado é inteiro')

Usei o

if '.' in resultado:
        print('O resultado é decimal')
    else:
        print('O resultado é inteiro')
        

Mas usando o int(input) da erro

e usando o float(input) sempre da decimal

1 resposta
solução!

Oii, Arthur!

Testei o seu código e obtive um erro da falta de elemento dentro de um objeto iterável e não aceitava adicionar números do tipo float.

Como sugestão, para que o usuário possa adicionar o número decimal no campo, precisamos adicionar o floatantes de input:

num1 = float(input('Digite o primeiro número: '))
num2 = float(input('Digite o segundo número: '))
num3 = float(input('Digite o terceiro número: '))
operador = float(input('Digite qual operador deseja: '))

E na condição que verifica se o resultado é inteiro ou decimal, precisando adicionar str(resultados na condição:

if '.' in str(resultado):
        print('O resultado é decimal')
    else:
        print('O resultado é inteiro')

Faça as alterações e teste em seu notebook. Deixo aqui o código completo e o link do notebook que testei:

num1 = float(input('Digite o primeiro número: '))
num2 = float(input('Digite o segundo número: '))
operador = input('Digite qual operador deseja: ')

if operador == '/':
    resultado = num1 / num2
    print('O resultado de {} / {} é: {}'.format(num1, num2, resultado))
    if resultado % 2 == 0:
        print('O resultado é par')
    else:
        print('O resultado é impar')
    if resultado >= 0:
        print('O resultado é positivo')
    else:
        print('O resultado é negativo')
    if '.' in str (resultado):
        print('O resultado é decimal')
    else:
        print('O resultado é inteiro')

Espero ter ajudado. Continue se dedicando aos estudos e com o fórum para tirar dúvidas.

Bons estudos e até mais!