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 (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!
  1. Função int(x) - descarta a parte fracionária de um número real x.
  2. 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