Gerçek sayılar

Programlamada, tüm sayılar öncelikle tam sayılara (tamsayı) ve kesirli sayılara (kayan) ayrılır. ).

Değişkeninizin türünü belirlemek için Python yerleşik bir type() işlevine sahiptir:
isim = "İvan"
print(tür(ad))  #ekranda <class 'str'>
n=5
print(tür(n))  # <sınıf 'int'>
r=5.0
print(tür(r))  # <sınıf 'kayan'>

5.0 değeri, ondalık olarak temsil edilen bir sayıdır.  Programlamada, tüm kesirli sayılar gösterimlerinde ondalık nokta bulunan sayılardır. Bu tür sayılara gerçek sayılar
denir.  
Gerçek sayı ondalık nokta içeren bir sayıdır. Tamsayı ve kesirli kısımlar birbirinden matematikte olduğu gibi virgülle değil nokta ile ayrılır.

Örneğin, sayılar \(1 \over 2\)\(\sqrt 2\)   gerçek sayılardır. int bu sayıları depolamak için yeterli değil. 
Python, gerçek sayıları temsil etmek için  float.
veri türünü kullanır.
Örnekteki r değişkeninde olduğu gibi sayının kesirli kısmı sıfır olsa bile derleyici yine de bellekte gerçek bir değişken oluşturacaktır. Sayının gösteriminde bir ondalık nokta olduğundan!. Ondalık nokta, çevirmen için gerçek bir değişken oluşturmanın gerekli olduğuna dair bir işarettir. 

Çok büyük ve çok küçük sayılar  "kayan nokta" kullanılarak yazılır (sözde bilimsel biçimde).  
Bilimsel formatta, bir sayı bir mantis(sayının önemli kısmı) ve üs olarak temsil edilir. Yazıldığında, mantis ve üs birbirinden e harfi ile ayrılır (bir dereceye kadar 10'u belirtir). 

Örneğin, bir elektronun yük değerini ( \(1.60217662 \times 10^{-19}\) C) bir depoda saklayabilirsiniz. değişken, aşağıdaki biçimde yazılır  ;
El = 1.60217662e-19 

Neredeyse tüm gerçek sayılar, bilgisayar belleğinde mükemmel bir doğrulukla depolanamaz, çünkü bunların depolanması için sınırlı sayıda bit ayrılmıştır.
 
Bu nedenle, gerçek sayılarla hesaplama yapılırken gösterim yanlışlığından kaynaklanan hatalar birikir. Üstelik ne kadar az yer ayrılırsa bu hata o kadar büyük olur.

 

Gir

input() işlevini kullanarak bir gerçek sayı girmek için, input() işlevinin sonucu olan karakter dizisini bir sayıya dönüştürmek gerekir. işlevi >float() kullanılarak gerçek sayı:
x = float(input())
Aynı anda bir satırdan birkaç değer girmeniz gerekirse, tamsayılarla aynı yöntemi kullanırız:
x, y = map(float, input().split())

 

Çıktı

Gerçek sayıları görüntülerken, varsayılan olarak 16 ondalık basamak görüntülenir. Bu biçim her zaman gerekli değildir. Çıktı formatını kısaltmanız gerekiyorsa, biçimlendirilmiş çıktı veya F-dizeleri kullanın.


Çıktıyı Biçimlendir
Bunu yapmak için çıktısını almak istediğimiz dizgeye format() yöntemini uygulayın. Ve satır içi biçimler iki noktadan sonra kaşlı ayraçlar içinde yazılır. format() işlevinin parantezleri, değerleri belirtilen biçimde kaşlı ayraçlar yerine dizgede değiştirilecek olan değişkenlerin (veya sabitlerin) adlarını gösterir. Değişkenlerin sayısı kaşlı ayraçların sayısıyla eşleşmelidir. Bu yöntem Python'da sürüm 3'ten başlayarak çalışır.
 
Örnek
 


F-string 
Biçimlendirilmiş bir dizeyi görüntülemenin başka bir yolu da f-dizeleri (f-string) kullanmaktır. Bu yöntem Python'da 3.6 sürümünden itibaren mevcuttur.
print(f"{x:f}")
print(f"{x:.3f}")
print(f"{x:12.4e}") 
F-string, (veya F) ile başlayan bir joker karakter dizisidir. Bir dizgeye bir değişkenin değerini her eklemek istediğimizde,   kıvrık parantez içine alınmış değişken adı {}. Küme parantezlerin içinde, fomat() yöntemine benzer bir biçimlendirme yöntemi belirtebilirsiniz.
yöntemi

format() yöntemine ve F-strings'e ek olarak, çıktıyı biçimlendirmek için başka yollar da kullanabilirsiniz. Çıktı ifadelerini aşağıdaki gibi yazarak aynı sonucu elde ederiz:
print("%f" % (x))
print("%.3f" % (x))
print("%12.4e" % (x))
Bu biçimlendirme yöntemi, C dilinin  printf() işlevini taklit eder. Yöntemin eski olduğu kabul edilir, ancak bazı durumlarda daha uygundur. Bunun dışında, bu yöntem (burada belirtilenler dışında) Python sürüm 2.5 ve altında çalışan tek yöntemdir.

  Açıklama Ekran çıktısı
x = 1 / 6
   
print("{:f}".format(x))
format :f varsayılan olarak 6 basamak verir  kesirli kısımda
0.166667
print("{:.3f}".format(x))
:.3, noktadan sonra 3 karakter çıktı almak anlamına gelir
0,167
print("{:12.4e}".format(x))
:12.4 - ilk sayı (12) şunu belirtir:  sayının görüntüleneceği konumların toplam sayısı (nokta dahil);
ikinci sayı (4) - kesirli kısımdaki basamak sayısı;
format e - sayıyı bilimsel formatta görüntüler.
  1.6667e-01
Gerçek bir sayıyı tamsayıya dönüştürme

Problemleri çözerken, genellikle gerçek sayıları en yakın tamsayı değerlerine yuvarlamak gerekir. Bunun için iki fonksiyon var.

Hatırlanmalı!
  1. int(x) işlevi - x gerçek sayısının kesirli kısmını atar.
  2. round(x) işlevi - x gerçek sayısını en yakın tamsayıya yuvarlar (eğer sayının kesirli kısmı 0,5 ise, sayı şuna yuvarlanır: en yakın çift sayı).
 
Örnekler
yazdır(int(20.12345)) # 20
yazdır(yuvarlak(2.5)) # 2
yazdır(yuvarlak(3.5)) # 4
yazdır(yuvarlak(-2,5)) # -2
print(yuvarlak(-3.5)) # -4