Aula 04: Tipos de Dados | Lógica de Programação (c/ Python)
As variáveis são capazes de guardar qualquer coisa, no entanto, as coisas ocupam espaços diferentes na memória do computador.
Um texto, um número inteiro, um “número quebrado”… todos eles exigem espaços diferentes na memória da computador e por conta disso são administrados de forma distinta pelo Python, mesmo que você não indique isso explicitamente.
Chamamos isso de tipagem fraca, ou seja, você não precisa discriminar o tipo de dado de forma explícita. Você encarrega esse trabalho para o programa.
Mas mesmo que não seja necessário dizer ao Python que tipo de informação estamos inserindo, isso eventualmente pode gerar confusões e erros. Como neste caso:
n1 = input("Primeiro valor: ")
n2 = input("Segundo valor: ")
soma = n1 + n2
print("O valor da soma é... " + soma)
A lógica do programa está certa, mas ao tentarmos executar…
Primeiro valor: 8
Segundo valor: 8
O valor da soma é... 88
Por que o programa juntou os números ao invés de somá-los?
Isso aconteceu porque o programa interpretou os números como textos!
Uma situação semelhante de erro acontece quando tentamos, por exemplo, subtrair textos:
print("abacate" - "cate")
Ao tentar fazer isso, obtemos o erro:
ERROR!
Traceback (most recent call last):
File "<main.py>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'str' and 'str'
Este erro basicamente nos diz: “Ei, não posso fazer uma operação de - entre duas strings”.
É por isso que em algumas situações precisaremos fazer a conversão de tipos manualmente:
n1 = int(input("Primeiro valor\\n"))
n2 = int(input("Segundo valor\\n"))
soma = n1 + n2
print(f"O valor da soma é... {soma}") # 3
Os principais tipos, chamados de tipos primitivos, por ora, são:
str (string);int (números inteiros), float (números quebrados);bool (verdadeiro/falso).Escreva um programa que receba o ano de nascimento do usuário e descubra quantos anos ele tem. Exemplo:
Insira o seu ano de nascimento: # 1992
Você tem 33 anos!