Merhaba, kodun mantığını biliyorsanız anlatabilir misiniz?
Kullanıcıdan input alıp int() ile sayıya çeviriyoruz. Sayımız 5628 olsun. Bu sayı 4 basamaklı olduğu için 10 tabanında logaritması 3,75 küsürlü bir sayı olacak.(n basamaklı her sayının 10 tabanında logaritması n - 1 küsürlü oluyor.) 3,75 küsürlü sayıyı math.floor() fonksiyonu ile aşağıya yuvarlıyoruz ve 3 oluyor, bunu da
us değişkenine kaydediyoruz. Daha sonra üs, 0'dan küçük olana kadar sonsuz bir döngü döndürüyoruz, ne zaman 0'dan küçük olacağına birazdan geleceğiz. Math.pow() fonksiyonu ile az önce bulduğumuz üs kadar 10'un üssünü alıyoruz ve bunu
basamak isimli bir değişkene atıyoruz.(Yani elimizde 10^3'ten 1000 var.) Sayıyı // işareti ile
basamak değişkenimize(1000) tam bölüyoruz ve sayımız 5628 olduğu için sonuç 5 oluyor.(// tam bölüm işaretidir.) Daha sonra çıktıda basamağı da görmek istediğimiz için buluduğumuz basamağı tekrar
basamak değişkeni ile çarpıyoruz.
us değişkenini 1 eksiltiyoruz çünkü bir sonraki döngüde 100'ler basamağına geçeceğiz, ayrıca 100'ler basamağına geçebilmemiz için sayımızın 100'lük kısmını %(modulo) operatörü ile alıyoruz.(% işareti bölümden kalanı veriyor yani.) Başa dönüp tekrar ediyoruz. Birler basamağından sonra
us değişkeni 0'dan küçük oluyor.