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 daMerhaba, kodun mantığını biliyorsanız anlatabilir misiniz?
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.O kodu denedim ama yanlıs calısıyor sadece 1234 yapınca dogru sayılar karısınca mesela 3265 olunca yanlıs oluyorKod:num = [int(x) for x in input("Lütfen bir sayı giriniz: ")] size = len(num) for i in num: print(i * 10**(size - i), end=".\n")
O kodu denedim ama yanlıs calısıyor sadece 1234 yapınca dogru sayılar karısınca mesela 3265 olunca yanlıs oluyorKod:num = [int(x) for x in input("Lütfen bir sayı giriniz: ")] size = len(num) for i in num: print(i * 10**(size - i), end=".\n")
O kodu denedim ama yanlıs calısıyor sadece 1234 yapınca dogru sayılar karısınca mesela 3265 olunca yanlıs oluyorPython girilen sayının basamaklarına ayırma
Arkadaşlar merhabalar Python'da girilen sayının basamaklarına ayıran programı yazmak istiyorum yapabilen biri kodlarını benimle paylaşabilir mi? Örnek: Lütfen bir sayı giriniz: 1234. 1000. 200. 30. 4www.technopat.net
O halde internetten örneklerine bakınman gerekicek. Şuan vaktim yok ilgilenemeyeceğim maalesef.O kodu denedim ama yanlıs calısıyor sadece 1234 yapınca dogru sayılar karısınca mesela 3265 olunca yanlıs oluyor
O kodu denedim ama yanlıs calısıyor sadece 1234 yapınca dogru sayılar karısınca mesela 3265 olunca yanlıs oluyor
O kodu denedim ama yanlıs calısıyor sadece 1234 yapınca dogru sayılar karısınca mesela 3265 olunca yanlıs oluyor
Anladım ama internette bu tarz cikmiyor iyi gunlerO halde internetten örneklerine bakınman gerekicek. Şuan vaktim yok ilgilenemeyeceğim maalesef.
Çıkar çıkar. Gerekirse sorunu ingilizce çevirip arat.Anladım ama internette bu tarz cikmiyor iyi gunler
Anladım tesekkurlerrÇıkar çıkar. Gerekirse sorunu ingilizce çevirip arat.
Sayıyı String'e çevirmek çalışır ama doğru bir yaklaşım değil. Gerçi kodun doğruluğu tartışmaya açık bir durum.
Aşağıdaki kod pozitif bir sayı girildiği sürece çalışıyor ama girilen sayı belirli limitleri aşarsa problem çıkabilir. Bu yazdığım kodun da doğruluğu tartışılabilir.
[CODE lang="python" title="Örnek"]import math
sayi = int(input("Sayı: "))
us = math.floor(math.log10(sayi))
while sayi != 0:
basamak = math.pow(10, us)
print(int((sayi // basamak) * basamak))
us -= 1
sayi %= basamak[/CODE]
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.