Conversão de variáveis de entrada

1. Conversão de variáveis de entrada

triplesix
devilson

(usa Deepin)

Enviado em 11/01/2019 - 11:08h

Olá, bom dia, boa tarde e boa noite!

Estou aprendendo a programar e escolhi a linguagem python e já estou com dúvida:

Por que tenho que converter uma variável de entrada que recebe um número para os tipos int ou float para executar corretamente um programa de cálculo? digo isso porque na minha mente quando digitamos um número ele já é automaticamente um número e não uma string.

De qualquer forma vou deixar o código do programa que converte a temperatura de Fahrenheit pra Celsius do jeito que eu programei aqui:

temperaturaF = input('Digite uma temperatura em Fahrenheit: ')

temperaturaC = (temperaturaF - 32) * 5 / 9

print("A temperatura em celsius é: ", temperaturaC)


E o código do programa corrigido pelo professor aqui:

temperaturaF = input('Digite uma temperatura em Fahrenheit: ')

temperaturaC = (float(temperaturaF) - 32) * 5 / 9

print("A temperatura em celsius é: ", temperaturaC)


-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Tudo é Facebook. E os livros na cara, cadê? Tu não vê, igual o logo do Carrefour que a parte branca é um "C".

(Marechal)


  


2. Re: Conversão de variáveis de entrada

Matheus
pylm

(usa Gentoo)

Enviado em 11/01/2019 - 11:13h

Tudo que entrar pelo input() será tratado como string, se precisar de outro tipo vai ter que converter pois é assim que a linguagem funciona.
Entretanto se quiser você pode pegar o input como outro tipo de dado, basta especificar no mesmo por exemplo:


var = int(input('Alguma mensagem: '))


Vai pegar o valor já como int.

Uma dica que vai te ser muito útil, quando for usar o print use máscaras pra variáveis, exemplo:


# Ao invés disso:
print("A temperatura em celsius é: ", temperaturaC)

# Faça isso:
print("A temperatura em celsius é: {}".format(temperaturaC))


As {} são umas máscara que vai ser substituída por um valor posteriormente, não é tão útil quando só tem uma variável a apresentar no print mas quando se tem várias é essencial e deixa o código muito mais limpo.