Python ile Girilen Sayının Basamak Sayısını Bulma

Bu örneğimizde, Python ile, kullanıcı tarafından girilen bir sayının kaç basamaklı olduğunu bulan örnek bir program kodlanacaktır. .

  1. İlk çözüm yolunda while döngüsü kullandık. Bakınız:

Bu kod, kullanıcıdan bir sayı alır, ve bu sayının basamak sayısını hesaplar. Kodumuz, öncelikle kullanıcının girdiği sayıyı bir float’a çevirir, sonra bu float’ı bir int’e çevirir, bu da eğer kullanıcı tarafında ondalıklı sayı girilmişse onun ondalık kısmını atmaya yarar. Daha sonra, kullanıcı tarafından girilen sayının negatif olup olmadığını kontrol eder ve eğer öyleyse, pozitife çevirir. Bu sayede, negatif sayılar da kontrol edilmiş olur. Kodu çalıştırmak için: Trinket


  1. İkinci çözümde ise importh math yaparak çözüme ulaşacağız. Bu sayede negatif sayılar için ekstra bir işlem yapmamız gerekmeyecek. Bakınız:

Bu kod, kullanıcıdan bir sayı alır, ve bu sayının basamak sayısını hesaplar. Kodumuz, öncelikle kullanıcının girdiği sayıyı bir float’a çevirir, sonra bu float’ı bir int’e çevirir, bu da eğer kullanıcı tarafında ondalıklı sayı girilmişse onun ondalık kısmını atmaya yarar. Daha sonra, bu tam sayının basamaklarını sayar. Kodu çalıştırmak için: Trinket


  1. Üçüncü çözümde ise sayının basamak sayısını bulmak için daha basit ve güvenilir bir yol olarak sayıyı stringe dönüştürüp bunun uzunluğunu alabiliriz:

Yukarıdaki versiyonumuz, girilen sayının tam kısmının basamak sayısını hesaplar ve ekrana basar. Ondalık kısmı dikkate almaz. Negatif sayılar da dahil edilir. Kodu çalıştırmak için: Trinket


  1. Ve son olarak da len() metodunu kullanarak çözelim:

Kod, kullanıcıdan bir sayı istiyor ve girdiği sayının basamak sayısını belirliyor. Kullanıcı bir sayı girdiğinde, öncelikle sayının pozitif, negatif ya da sıfır olup olmadığı kontrol ediliyor. Eğer girilen sayı pozitifse, girdinin uzunluğu (yani karakter sayısı) doğrudan basamak sayısı olarak alınıyor. Eğer girilen sayı sıfırsa, basamak sayısının 1 olduğu belirtiliyor. Eğer girilen sayı negatifse, girdinin uzunluğundan bir çıkarılıyor (çünkü negatif işareti basamak sayısına dahil edilmiyor). Bu şekilde, girilen sayının basamak sayısı belirleniyor ve ekrana yazdırılıyor. Kodu çalıştırmak için: Trinket

İlgili Makaleler

4 Yorum

  1. İmporth math da 8 aded dokuz girdiğimde 9 adet girdiniz diyor aynı sayıdan bir kaç defa girilince basamak sayısını 1 arttırıyor sebebini anlayamadım programda hata var galiba açıklarmısınız rica etsem

    1. Aslında bu durum kayan noktalı sayıların kesin değerlerini tam olarak temsil edememesi nedeniyle oluyor. 9999.. sayısı tam sayı diyebilirsiniz, haklısınız da ama math.log10() metodu, içine yazılan sayıyı kayan noktalı sayı yapar. Eh round() metodu da yuvarlama yaptığı için tecrübe ettiğiniz hataya yol açmakta.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu