Números reais
Na programação, todos os números são distinguidos, em primeiro lugar, em inteiros ( integer) e fracionários ( float ).
Para determinar qual é o tipo da sua variável, o Python possui uma função type() integrada:
nome = "Ivan"
print(tipo(nome)) #a tela mostrará <class 'str'>
n=5
imprimir(tipo(n)) # <class 'int'>
r=5,0
print(tipo(r)) # <classe 'float'>
O valor 5,0 é um número representado como um decimal. Na programação, todos os números fracionários são números que possuem um ponto decimal em sua notação. Esses números são chamados números reais.
Um número real é um número que contém um ponto decimal. As partes inteira e fracionária são separadas umas das outras por um ponto, não por uma vírgula como na matemática.
Por exemplo, números \(1 \over 2\), \(\sqrt 2\) são números reais. int não é suficiente para armazenar tais números.
Python usa o tipo de dados float . para representar números reais.
Mesmo que a parte fracionária do número seja igual a zero, como na variável r do exemplo, o compilador ainda criará uma variável real na memória. Como há um ponto decimal na notação do número!. A vírgula, por assim dizer, é um sinal para o tradutor de que é necessário criar uma variável real.
Números muito grandes e muito pequenos são escritos usando "ponto flutuante" (no chamado formato científico).
No formato científico, um número é representado como uma mantissa(parte significativa do número) e um expoente. Quando escrito, a mantissa e o expoente são separados um do outro pela letra e (denotando 10 até certo ponto).
Por exemplo, você pode armazenar o valor da carga de um elétron ( \(1.60217662 \times 10^{-19}\) C) em um variável, escrevendo da seguinte forma  ;
El = 1.60217662e-19
Quase todos os números reais não podem ser armazenados na memória do computador com precisão perfeita, pois um número limitado de bits é alocado para seu armazenamento.
Portanto, ao calcular com números reais, os erros devido à imprecisão da representação se acumulam. Além disso, quanto menos espaço alocado, maior será esse erro.
|
Entre
Para inserir um número real usando a função input() , é necessário converter a cadeia de caracteres, que é o resultado da função input() , em um número real usando a função >float() :
x = float(input())
Se você precisar inserir vários valores de uma linha ao mesmo tempo, usaremos o mesmo método para números inteiros:
x, y = map(float, input().split())
Saída
Ao exibir números reais, 16 casas decimais são exibidas por padrão. Este formato nem sempre é necessário. Se você precisar encurtar o formato de saída, use saída formatada ou F-strings.
Saída do formato
Para fazer isso, aplique o método format() à string que desejamos enviar. E dentro dos formatos de linha são escritos entre chaves após os dois pontos. Os parênteses da função format() indicam os nomes das variáveis (ou constantes), cujos valores serão substituídos na string em vez de chaves no formato especificado. O número de variáveis deve corresponder ao número de chaves. Este método funciona em Python a partir da versão 3.
Exemplo
|
Explicação |
Saída de tela |
x = 1/6
|
|
|
print("{:f}".format(x))
|
format :f gera 6 dígitos por padrão na parte fracionária |
0,166667
|
print("{:.3f}".format(x))
|
:.3 significa saída de 3 caracteres após o ponto |
0,167
|
print("{:12.4e}".format(x))
|
:12.4 - o primeiro número (12 ) especifica o número total de posições para exibir o número (incluindo o ponto);
segundo número (4 ) - o número de dígitos na parte fracionária;
formato e - exibe o número em formato científico. |
1.6667e-01
|
F-string
Outra maneira de exibir uma string formatada é usar f-strings (f-string ). Este método está disponível em Python a partir da versão 3.6.
print(f"{x:f}")
print(f"{x:.3f}")
print(f"{x:12.4e}")
F-string é uma string curinga, começando com f (ou F ). Sempre que quisermos inserir o valor de alguma variável em uma string, precisamos adicionar nome da variável entre chaves {} . Dentro de chaves, você pode especificar um método de formatação semelhante ao método format() .
Além do método format() e F-strings , você pode usar outras formas de formatar a saída. Obtemos o mesmo resultado escrevendo as instruções de saída da seguinte maneira:
print("%f" %(x))
print("%.3f" % (x))
print("%12.4e" % (x))
Este método de formatação imita a função printf() da linguagem C. O método é considerado obsoleto, mas em alguns casos é mais conveniente. Fora isso, esse método é o único (dos mencionados aqui) que funciona no Python versão 2.5 e abaixo.
|
Convertendo um número real em um inteiro
Ao resolver problemas, muitas vezes é necessário arredondar números reais para os valores inteiros mais próximos. Existem duas funções para isso.
Devo lembrar!
- Função
int(x) - descarta a parte fracionária de um número real x .
- A função
round(x) - arredonda o número real x para o inteiro mais próximo (se a parte fracionária do número for 0,5, o número será arredondado para o número par mais próximo).
Exemplos
print(int(20.12345)) # 20
print(round(2.5)) # 2
print(round(3.5)) # 4
print(round(-2.5)) # -2
print(round(-3.5)) # -4
|
|