Python Kod

  1. Anasayfa
  2. »
  3. Genel
  4. »
  5. Python Sayıları Basamaklarına Ayırma

Python Sayıları Basamaklarına Ayırma

admin admin - - 11 dk okuma süresi
89 0

Programlamada sayılar genellikle sıklıkla kullanılan verilerdir. Bu nedenle, Python’da sayıları basamaklarına ayrımanın yöntemleri oldukça önemlidir. Bu makalede, Python’da sayıları basamaklarına ayırmak için farklı yöntemler anlatılmaktadır.

Python’da sayıları basamaklarına ayırmak için ilk yöntem, sayıları stringlere dönüştürmektir. Ardından, string ifadeleri sayısal değerlere dönüştürerek basamaklarına ayırmak mümkündür. İkinci yöntem, modüler aritmetiktir. Sayının modülü 10’a bölünerek son basamağı elde edilir ve bu işlem tekrar edilerek sayının bütün basamaklarına ulaşılabilir. Üçüncü yöntem ise logaritmalar kullanarak basamak sayısını bulmak ve sayıyı bu basamak sayısına göre basamaklarına ayırmaktır.

Giriş

Sayılar, programlamada en temel araçlardan biridir. Programcılar, sayıları farklı işlemlerde kullanılmak üzere sıklıkla kullanırlar. Ancak sayılar, sadece tek bir sayı olarak değil, her bir basamağına ayrılarak çalışılabilir. İşte Python’da sayıları basamaklarına ayırmanın yöntemleri!

Bu makalede, Python programlama dilinde sayıları basamaklarına ayırmak için kullanılacak yöntemler açıklanacak. Bazı yöntemler string dönüşümü, modüler aritmetik ve logaritmalardır. Kullanılan her yöntem, sayılarda basamakları elde etmek için farklı bir yöntem sağlar. Bu yöntemler ile verilen sayılar kolayca basamaklarına ayrılabilecektir. Ayrıca, örnek kod parçaları ile birlikte konunun daha iyi anlaşılması sağlanacaktır.

İlk Yöntem: String Dönüşümü

Python’da sayıları basamaklarına ayırmak için kullanabileceğiniz ilk yöntem, sayıları stringlere dönüştürmek ve ardından her bir karakteri teker teker integer’a dönüştürmek ve listeye eklemektir. Bu yöntem oldukça basit ve doğrudan uygulanabilir.

Aşağıdaki örnek kod parçasında, sayı değişkeni 12345 olarak tanımlanmıştır. Daha sonra bu sayı string’e dönüştürülür ve for döngüsüyle her bir karakter teker teker integer’a dönüştürülür ve basamaklar adlı listede saklanır. Son olarak, basamaklar listesi ekrana yazdırılır.

Kod Parçası Çıktı
sayı = 12345
basamaklar = [int(d) for d in str(sayı)]
print(basamaklar)
[1, 2, 3, 4, 5]

Bu yöntem, basit kodlama gerektirir ve sayıların basamaklarına doğrudan erişmenizi sağlar.

Örnek Kod Parçası:

Bu örnek kod parçasında, sayı değişkenine 12345 değeri atanmıştır. Daha sonra str() fonksiyonu kullanılarak sayı stringe dönüştürülmüştür. Ardından basamaklar değişkenine, sayı stringinin herbir karakteri için int() fonksiyonu kullanılarak sayıların basamaklarına ayrılması sağlanmıştır. Son olarak, print() fonksiyonu kullanılarak basamaklar listesi ekrana yazdırılmıştır.

Bu yöntem sayıları basamaklarına ayrımı açısından oldukça basit bir yöntemdir. Ancak, çok büyük sayılarda performans sorunları yaşanabilir.

Fonksiyon/Kütüphane Açıklama
str() Sayıyı string tipine dönüştürür.
int() String tipindeki karakteri sayıya dönüştürür.

İkinci Yöntem: Modüler Aritmetik

Python’da sayıları basamaklarına ayırmanın ikinci yöntemi modüler aritmetiktir. Sayının modüsünü 10’a böldüğümüzde, sayının son basamağı elde edilir. Bu işlemi tekrarladığımızda, bütün basamakları elde edebiliriz.

Modüler aritmetik yöntemini kullanarak, öncelikle sayımızı bir değişkene atıyoruz. Daha sonra, while döngüsü yardımıyla, sayının son basamağını basamaklar listesine ekleyerek, sayıyı 10’a bölerek son basamağı elde ediyoruz. Sonrasında sayıyı tekrar 10’a bölerek bir sonraki basamağı elde ediyoruz. Bu işlemi, sayı 0 olana kadar devam ettiriyoruz. Döngü sonlandığında ise, elde edilen basamaklar listesini ters çevirerek sayının basamaklarına ulaşmış oluyoruz.

Kod Parçası
sayı = 12345
basamaklar = []
while sayı > 0:
    basamaklar.append(sayı % 10)
    sayı //= 10
basamaklar.reverse()
print(basamaklar)

Örnek Kod Parçası:

Bu örnek kod parçası, Python’da sayıları basamaklarına ayırmanın ikinci yöntemi olan modüler aritmetiği kullanır. Kod parçasında, sayı önce bir liste haline getirilir. Liste, sayının basamaklarına göre güncellenir ve tersten olacak şekilde yeniden sıralanır. Kodun ayrıntıları:

Kod Açıklama
sayı = 12345 Sayı tanımlanır.
basamaklar = [] Boş bir liste oluşturulur.
while sayı > 0: Sayı 0’dan büyük olduğu sürece döngü sürer.
basamaklar.append(sayı % 10) Sayının son basamağı (mod 10) listeye eklenir.
sayı //= 10 Sayı, son basamağından kurtulmak için 10’a bölünür ve tam sayıya yuvarlanır.
basamaklar.reverse() Liste tersten sıralanır.
print(basamaklar) Liste ekrana yazdırılır.

Bu yöntem, diğer yöntemlere göre daha hızlıdır ve basit bir mantığa sahiptir. Bu nedenle, sayıların basamaklarına ayrılması gerektiğinde, modüler aritmetik kullanmak iyi bir seçenektir.

Üçüncü Yöntem: Logaritmalar

Son yöntemde, sayının logaritması hesaplanarak basamak sayısı bulunur ve sayı bu basamak sayısına göre basamaklarına ayrılır. Logaritma işlemi, sayının kaç basamağa sahip olduğunu hesaplayabilmek için kullanılır. Logaritma fonksiyonunun tabanı 10 olarak alınarak hesaplama yapılır. Ardından, elde edilen sayı basamak sayısına göre ayrılır.

Örneğin, 12345 sayısının logaritması hesaplandığında sonuç 4.091 log 10 olarak çıkar. Burada 4 basamaklı bir sayı olduğunu anlayabiliriz. Daha sonra, her basamağı ayrı ayrı hesaplamak için bir döngü oluşturulabilir. Bu döngüde, sayı 10 üzeri i ile bölünüp mod 10 işlemi uygulanarak elde edilen sonuç basamağı belirler.

Sayı 12345
Logaritma 4.091
Basamak Sayısı 4

Yukarıda verilen örnekte, önce sayının logaritması hesaplanarak basamak sayısı bulunmuştur. Daha sonra, for döngüsü ile her basamağı hesaplamak için gerekli olan işlemler gerçekleştirilmiştir.

Örnek Kod Parçası:

Bu yöntem, basit bir matematiksel hesaplama kullanılarak gerçekleştirilir. İlk olarak, sayının logaritması hesaplanır ve bu sayının basamak sayısını verir. Daha sonra, basamak sayısına göre sayı basamaklarına ayrılır. Örnek kod parçası aşağıdaki gibidir:

import mathsayı = 12345basamak_sayısı = int(math.log10(sayı))+1for i in range(basamak_sayısı - 1, -1, -1):    print((sayı // 10**i) % 10)

Bu kod parçasında, ilk olarak math modülü import edilir. Daha sonra, sayı değişkenine 12345 değeri atanır. Ardından, basamak_sayısı değişkeni hesaplanarak, sayının kaç basamağı olduğunu tutar. Son olarak, for döngüsü kullanılarak, sayının her bir basamağı elde edilir ve print fonksiyonuyla ekrana yazdırılır.

Bu yöntem diğerlerine göre daha karmaşıktır, ancak bazı durumlarda kullanışlı olabilir. Özellikle, büyük sayılarla çalışırken, diğer yöntemlerin performansı düşebilirken bu yöntem daha verimli çalışabilir.

İlgili Yazılar

Bir cevap yazın

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