Mas antes de falarmos disso, precisamos resolver um problema com nossa função input que recebe dados do teclado do usuário.
Leia também:
Eu quero obter certificado Python Progressivo e Entrar no Mercado de Trabalho!
Função input() e retorno em string
Quando digitamos qualquer coisa no teclado para a input capturar, ela automaticamente vai transformar esse dado em uma string (um texto).Atenção: Isso na versão mais nova do Python, a 3.x (3.4, 3.6 ...etc).
ATUALIZE SEU PYTHON PRA VERSÃO MAIS NOVA, OK?
Vamos usar o seguinte script que pede três dados do usuário e em seguida exibe o tipo de variável através da função type().
Nosso script:
string=input("Digite uma string: ") print( type(string) ) inteiro=input("Digite um inteiro: ") print( type(inteiro) ) decimal=input("Digite um float: ") print( type(decimal) )
Agora vamos rodar e digitar uma string, depois um inteiro e depois um float (decimal), veja o resultado:
Veja que nos três casos, as variáveis são do tipo string ('str').
Mas, peraí Python!
Eu queria que só a primeira fosse string!
2112 queria que fosse um inteiro
21.12 queria que fosse um decimal (float)
Por que isso acontece? Deu bug no Python? Quebrei o Python?
Não, caro paladino das artes computacionais.
Isso é uma característica da função input() no Python 3.x
Dizemos que a função input retorna uma string.
Ou seja, ao utilizarmos ela, ela vai colocar uma string na variável, não importa o que você tenha digitado, ok?
Mas vamos aprender como transformar essas strings indesejadas em números do tipo que quisermos!
Função int() - String para Inteiro (str to int) em Python
Para transformar uma string em inteiro, vamos usar a função int()Basta colocarmos o que quisermos entre os parêntesis dessa int(), que ela retorna um inteiro.
No caso, vamos colocar uma string, ok?
Exemplos:
Vamos definir uma variável chamada var1 e colocar a string '2112' dentro dela.
Em seguida, vamos usar a função type() para exibir o tipo de dado (vai aparecer 'str' de string).
Em seguida, vamos pegar outra variável var2 e fazer ela receber a função int() e dentro dessa int, colocamos a string var1. Depois imprimimos o tipo de dado que é a var2, veja:
var1='2112' print( type(var1) ) var2 = int(var1) print( type(var2) )
O resultado é exatamente o que esperamos:
Transformamos a string '2112' no número 2112 !
Função float() - String para Decimal (str to float) em Python
Exatamente como funciona a int(), funciona a float().Tudo que colocarmos entre os parêntesis dessa função, ela vai transformar em float.
Vamos criar um script que pede um decimal para o usuário e armazena na variável var1. Depois, imprimimos o tipo de dado dessa var1, que vai ser 'str'.
Depois, colocamos essa var1 dentro da função float() e armazenamos o valor em uma variável var2. Em seguida, imprimimos o tipo de dado dessa variável, que vai ser 'float'.
Agora, vamos pegar uma variável var3 e colocar um inteiro nela, o número 2112, que é o número mais foda de todos.
Depois transformamos esse inteiro em um float, armazenamos ele em var4 e vemos o tipo de dado da var4, que agora agora é float, veja:
var1=input("Digite um decimal: ") print( type(var1) ) var2=float(var1) print( type(var2) ) var3=2112 var4=float(var3) print( type(var4) ) print(var4)
O resultado foi esse:
Xablau! Transformamos uma string em float, e depois o inteiro 2112 em um float. Imprimimos até var4 para vermos que 2112 se transformou em 2112.0 , um decimal!
Usando int() e float() na função input()
Ok, mas e o nosso problema inicial? De querer um número e o diacho da função input me dar uma string, como resolver?Muito simples. Lembra que dissemos que a input retorna uma string?
Então é só jogar a função input dentro das funções int() e float()
Ou seja, para pegar um dado do usuário, transformar em inteiro e armazenar na variável var1, faça:
var1 = int( input("Digite um inteiro: ") )
E para pegar o dado do usuário e transformar em decimal, basta jogar a input dentro da função float:
var2 = float( input("Digite um decimal: ") )
E prontinho! var1 é um tipo de dado inteiro e var2 é um tipo de dado float.
Simples, não?
Muito bom o tutorial!
ResponderExcluirQUE CURSO FODA PORRA!!!!!
ResponderExcluirMuito bom e bem explicativo!
ResponderExcluirSensacional, só tenho a agradecer. acompanho vários tutoriais desse site, e aprendo muito com todos eles!
ResponderExcluircara, que curso foda, namoral
ResponderExcluirMuito top! Vídeos não explicam essa leitura da bagaça toda!
ResponderExcluirIncrível como esse tutorial é bem explicado e divertido de acompanhar, parabéns!!!!
ResponderExcluirSimples e objetivo! Parabéns!
ResponderExcluir