Tipos de dados em Python#
Vimos na aula passada que podemos guardar qualquer coisa em variáveis no Python. O que nós não discutimos foi que essas "coisas" que podemos guardar nas variáveis possuem tipos específicos. No início vamos trabalhar com 4 tipos básicos:
- Inteiro (
int
): um número sem casa decimal. Ex:34
,96
,-123
,45
; - Float (
float
): um número real, com "ponto decimal" (também chamamos de "ponto flutuante"). Ex:3.14
,-25.1
,5.0
,5e-1
; - String (
str
): texto puro (é representado necessariamente com aspas simples ou duplas). Ex:"Hello, world!"
,'Insper'
,'3.14'
,'"oi"'
; - Booleano (
bool
): representam "verdadeiro" (True
) e "falso" (False
).
Conversão entre tipos
O Python disponibiliza algumas funções que convertem um valor de um tipo para outro.
Exercício 1
Resposta
O comando str(123)
converte o número 123
para a string '123'
. Ao utilizar o operador de soma (+
) entre duas strings, o resultado será 1234
. Na computação, dizemos que as strings 123
e 4
foram concatenadas.
Parece que vimos algo parecido no código do EXERCÍCIO 01
. Ao pedir dois valores utilizando o comando input
e passando esses dois valores para a função soma
, tivemos como resultado a concatenação de duas strings.
Exercício 2
Resposta
O comando int('14')
converte a string '14'
para o número inteiro 14
. Como o valor 28
é um número inteiro, o resultado da operação de soma entre os números 14
e 28
, resulta no número inteiro 42
.
Então aqui, temos uma dica do que podemos utilizar para consertar nossoo código.
Exercício 3
Exercício 4
Resposta
A forma correta de converte para inteiro o valor recebido pelo comando input
é int(input('Entre com o primeiro número: '))
.
O comando input(int('Entre com o primeiro número: '))
é muito similar a forma correta, porém, podemos perceber que a ordem do comando int
e input
estão invertidas.
O comando int(soma(a, b))
converte para inteiro o valor devolvido pela função soma
. E como os valores de a
e b
são strings, então a função soma
devolve o resultado da concatenação das strings armazenadas nas variáveis a
e b
.
Agora vamos continuar explorando tipos de variáveis em Python.
Exercício 5
Exercício 6
Resposta
Ao executar o código float('BANANA')
, o interpretador Python não sabe como fazer a conversão da string BANANA
para um número float
.
Exercício 7
Resposta
Seu programa deve ter apresentado um erro parecido com o seguinte: ValueError: could not convert string to float: 'BANANA'
. Será muito comum encontrarmos erros em nosso programa. A primeira dica é: não entre em pânico. A segunda é: leia a mensagem de erro com atenção.
Exercício 8
Resposta
Será impresso 4.0
no terminal. Ao converter o número inteiro 4
para um número em ponto flutuante, o interpretador Python adiciona o ponto e o zero ao número.
Exercício 9
Resposta
O comando float('1.625')
converte a string '1.625'
para o número do tipo float 1.625
. Como o valor 0.1
é um número do tipo float, o resultado da operação de soma entre os números 1.625
e 0.1
, resulta no valor 1.725
.
Exercício 10
Resposta
O comando int(3.14)
gerou o número inteiro 3
. Mas será que ele arredondou o valor?
Exercício 11
Resposta
O valor obtido foi 2
. O que isso diz sobre a função int
?
Ao converter o número 2.718
para um número inteiro, estamos desconsiderando o valor depois do ponto. Desta forma, obtemos o valor 2
como resultado da conversão para int
.
Exercício 12
Resposta
Quando o usuário informa o primeiro valor (3.14
), o interpretador Python devolve a seguinte mensagem no terminal: ValueError: invalid literal for int() with base 10: '3.14'
.
Isso ocorre, porque estamos passando um valor do tipo string
para o comando int
. Porém, essa string não pode ser convertida imediatamente para um número inteiro, pois possui casas decimais.
Exercício 13