Olá Alunos e professores, todos bem? Poderiam me ajudar na questão 9 dos desafios.
O que já fiz: Sei que o input sempre me retorna um dado do tipo 'str'. Utilizei o type(), só para confirmar. É uma string. Foi então que tentei o is_integer(), mas pelo fato de ser uma string, da erro. Me restou então converter a entrada para um int. int(input('...')), só que ao digitar qualquer coisa diferente disso da erro de conversão. Tendo que fazer algumas pesquisas para identificar outras formas, me deparei com o isinstance(). Entretanto ele requer um valor já convertido. Então eis a questão; como fazer para identificar o que veio através do input? Qual seria a melhor solução para esse caso?
Enunciado: 9) Escreva um programa que peça um número à pessoa usuária e informe se ele é inteiro ou decimal.
Código:
num = input('informe o número: ')
print(f'O tipo é: {type(num)}')
print(f'Resultado do istance é: {isinstance(num, int)}')
if isinstance(num, int) == True:
print('número é inteiro')
elif isinstance(num, float) == True:
print('número é decimal')
else:
print('opção inválida')
Resultado:
informe o número: 10
O tipo é: <class 'str'>
Resultado do istance é: False
opção inválida