input retornando uma str

Python

23/01/2019

Olá, eu estou começando a aprender a programar agora, e estou tendo dificuldade com o input e também com o while, o problema é bem aqui:
F = input("Digite o valor de fireH")
while F != int:
F = input ("digite um número real")
Nesse meu caso, eu percebi que o input, independente se eu colocava um int ou uma str, sempre retornava um valor em str. Qual seria o recomendado a fazer nessa situação? E outra dúvida, em outra parte desse código eu coloquei outro while, funciona bem, mas teria como adicionar duas variáveis a ele? Exemplo: while D "e" C < 3
print("O valor é", C, D)
D += 1
C += 1
Welington

Welington

Curtidas 0

Melhor post

Ana Lichirgu

Ana Lichirgu

23/01/2019

Bom dia! Na minha opinião se você declarou a variável F como string ela irá retornar string mesmo se você incluir um inteiro ou string.
No caso da segunda dúvida...pra você colocar 2 variáveis, você teria que colocar a cláusula nas duas...tipo while D < 3 "e" C < 3, entende?

Espero ter ajudado!
GOSTEI 1

Mais Respostas

Welington

Welington

23/01/2019

Muito obrigado, como eu faço para criar algo semelhante ao input, mas que devolva o valor correto do que eu digitar? Por exemplo: ainda que eu digite 1 na caixa de dialógo, ele não irá ser um int, e sim um str, e caso eu setar para a caixa dialgo converter pra int(input(")) se eu digitar um str ou um valor float, irá dar errro. Poderia me auxiliar nesse caso?
GOSTEI 0
Jose Carlos

Jose Carlos

23/01/2019

[Url da Pergunta](.https://www.devmedia.com.br/forum/input-retornando-uma-str/599944)

Olá, Welington.

Acredito que o você está tentando fazer é um tratamento de erro. Felizmente dentro do Python existe uma estrutura especifica para tal tarefa ‘Try Exception’, você pode pesquisar mais sobre ela na documentação do Python ou na internet.

📚 Explicações:
Pois bem, ao utilizar a função input() ela retorna sempre uma string, cabendo a você convertê-la para int(), float() ou bool().

✍ Exemplos de conversão:
- int(input(‘Entrada: ’))
- float(input(‘Entrada: ’))
- bool(input(‘Entrada: ’))

👨‍💻 Possivel correção:
    while True:
        try:
            f = int(input('Digite um valor inteiro: '))
            break
        except ValueError:
            print('Digite apenas numeros inteiro..')

O código acima impede que o programa siga sem que a a entrada, que será atribuída a variável 'f' possa ser convertida em inteiro.
GOSTEI 0
POSTAR