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
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")
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
Português,
8 meses atrás
Física,
8 meses atrás
Matemática,
8 meses atrás
Geografia,
1 ano atrás
Português,
1 ano atrás
Matemática,
1 ano atrás
Química,
1 ano atrás