Informática, perguntado por linkdemond2p5aio6, 1 ano atrás

Quando digito o comando n1 = input ('digite um numero:') e depois coloco print(type(n1)) e ai excuto ele me diz digite um numero: e ai eu coloco por exemplo 3 mas o problema é que no pycharm fica falando que a classe de qualquer numero que eu coloque é str alguem que entende de programação sabe o pq?


FdASO: Poderia informar mais detalhes? em que linguagem está escrevendo? em qual ambiente? o que está tentando fazer?

Soluções para a tarefa

Respondido por bokomoko
1
Eu sei porque.

No Python o comando 
n1 = input ('digite um numero:') 

sempre vai retornar uma string. Isso independe de você  o pycharm ou qualquer outra forma. Por exemplo, tente fazer o seu programa no http://repl.it  só para provar que o problema não é no pycharm ok ? É uma questão da definição da linguagem.

O Repl.it é gratuito e você pode rodar seus programas lá.

Se você quer testar que tipo de dado o usuário digitou, uma forma é tentar converter o input num tipo e testar se deu certo usando o comando try

assim
n1 = input("Digite um número") 

try: 
   n_int = int(n1)
except  alueError:
    print("Esse valor não é int!")
else:
    print("Esse valor é inteiro")

try: 
   n_float = float(n1)
except  valueError: 
    print("Esse valor não é float!")
else:
      print("O valor é de ponto flutuante")

Uma outra forma seria fazer um eval() assim

n1 = input("Digite um número")

try:
   print(type(eval(n1)))
except: 
 print(n1,"não é número")

Perguntas interessantes