koddla

Yazılımcıları bilgi ile güçlendirir.

Python’da f-string ile virgülden sonraki basamak sayısının belirlenmesi

Python’da ondalıklı sayılarla ilgilenirken (float) virgülden sonraki basamak sayısını belirlemek için f-string kullanabiliriz. f-string print‘e biçimleme kazandırmamızı sağlayacak. Örneğin, virgülden sonra 2 basamak yazdırmak istediğimizi düşünelim:


a = 10.1234
print(f"{a:.2f}")
Çıktı: 10.12

Ne yaptık?

Elimizdeki float değişkenini f-print kullanarak yazdırdık. Örnekleri biraz daha ilerletelim ve neler olduğunu kavramaya çalışalım. Aşağıdaki örneklerde virgülden sonraki basamak sayılarına dikkat edin:

a = 10.1234
print(f"{a:.1f}")
Çıktı: 10.1

a = 10.1234
print(f"{a:.3f}")
Çıktı: 10.123

a = 10.1234
print(f"{a:.4f}")
Çıktı: 10.1234

İlk örnekte float sayımız için virgülden sonra 1 basamak yazdırıyoruz. Sonraki örneklerde ise sırasıyla 3 ve 4 basamak. Bunu yaparken kısaca ondalık nokta işaretinden sonra kaç değer istediğimizi print içerisinde belirtiyoruz. Böylece;

  • Ondalık sayılarda istediğimiz miktarda basamak yazdırabiliyoruz:
pi = 3.141592653589793238462643383279

print(f'Pi sayısının ilk noktadan sonraki 6 basamağı: {pi:.6f}.')
Pi sayısının ilk noktadan sonraki 6 basamağı: 3.141593.
  • Sayıları yüzdeye dönüştürebiliyoruz:
grade = 29/45

print(f'Aldığım sonuç: {grade:.3%}.')
Aldığım sonuç: 64.444%.
  • Sabit uzunluk yazdırabiliyoruz:
from random import randint
for i in range(5):
    print(f'Param: {randint(0, 150):>3}$')
Param: 126$
Param:   7$
Param: 136$
Param:  15$
Param:  88$
  • binlik ayıracı olarak virgül kullanabiliyoruz:
print(f'Param: {10000000000:,}$')
Param: 10,000,000,000$

Gelelim açıklama kısmına.

Python’da f-string nasıl kullanılır?

Sayılar söz konusu olduğunda, biçim belirleyicilerini kullanabiliriz:

f'{deger:{uzunluk}.{basamak}}'

  • deger bir sayı belirten herhangi bir ifade
  • uzunluk görüntülenecek toplam kullanılan karakter sayısını belirtir, ancak belirttiğinden daha fazla alana ihtiyaç duyarsa, ek alan kullanılır.
  • basamak virgülden sonra kullanılan karakter sayısını gösterir
# ekstra boş karakter eklediğine dikkat edin
In [1]: f'{1 + 3 * 1.5:10.3f}'
Out[1]: '     5.500'

# uzunluktan fazla karakter gerektiğinde ek alan kullanılır
In [2]: f'{3000 + 3 ** (1 / 2):2.1f}' 
Out[2]: '3001.7'

In [3]: f'{1.2345 + 4 ** (1 / 2):9.6f}'
Out[3]: ' 3.234500'

# uzunluk değeri atlanabilir
In [4]: f'{1.2345 + 3 * 2:.3f}' 
Out[4]: '7.234'

# biçim değerlendiricisi kullanılmadığında Python'un hesapladığı kadar basamak kullanılır
In [5]: f'{1.2345 + 3 * 0.5}'
Out[5]: '2.7344999999999997'

Python’da f-string örnekleri

Python 3’te bir dizeyi başa sıfır ekleyerek doldurma

Bir sayımız olsun. Bu örnekte length değişkeni. Bu değişkene bir sayı atayalım ve bu sayıyı 3 karakter uzunluğunda göstermek isteyelim:

>>> length = 1
>>> print(f'length = {length:03}')
length = 001

39.544847000000000 39.54’e nasıl değiştirilir

Python kullanarak 39.54484700000000 sayısını 39.54‘e dönüştürmek isteyelim.

Sayıları yuvarlamak için round() fonksiyonuna da bakabilirsiniz.

Kullanıcıya görüntülenecek bir dize üretmek için yuvarlamak istiyorsanız:

>>> print "%.2f" % (39.54484700000000)
39.54

veya Python’un yeni sürümlerinde

>>> print("{:.2f}".format(39.54484700000000))
39.54

veya f-strings ile

>>> print(f'{39.54484700000000:.2f}')
39.54

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back to top