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.
Exercise 1
Answer
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.
Exercise 2
Answer
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.
Exercise 3
Exercise 4
Answer
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.
Exercise 5
Exercise 6
Answer
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.
Exercise 7
Answer
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.
Exercise 8
Answer
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.
Exercise 9
Answer
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.
Exercise 10
Answer
O comando int(3.14) gerou o número inteiro 3. Mas será que ele arredondou o valor?
Exercise 11
Answer
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.
Exercise 12
Answer
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.
Exercise 13