
arkadaşlar python da yeniyim de şu kodda herhangi bir döngü kullanmadan nasıl nasıl girdiğimiz sayı azalarak çarpılıyor. biri mantığını yazarsa sevinirim. şimdiden kolay gelsin

arkadaşlar python da yeniyim de şu kodda herhangi bir döngü kullanmadan nasıl nasıl girdiğimiz sayı azalarak çarpılıyor. biri mantığını yazarsa sevinirim. şimdiden kolay gelsin
Merhaba,
return inner(number) #bu kısım yaratılmış olan inner fonksiyonunu tekrar çağırıyor bu şekilde her seferinde 1 azaltarak faktoriyel yapılabiliyor.
bkz: Soru Sorarken Sıkça Düşülen Hatalar #4
Ic fonksiyonun number parametresinin (2., 3., 5. satirlar) ismini degistirmek ve/veya fonksiyonu disari almak kodun anlasilmasini kolaylastirabilir.
Ben de bu konuda takılmıştım. Umarım anlatabileceğim.
return number* inner(number -1) # inner(number-1) fonksiyonu verilen sayının bir eksiği ile tekrar çalışır , 1 sayısına kadar eksilince zaten 1 döndürülüyor if bloğu nedeniyle ve çarpım bitiyor.
return number * ( ( number -1) * inner( (number-1) -1) # verilen sayıya göre işlem 1’e eksilene kadar devam eder
yani 5’in faktöriyeli için
return 5 * ( 4* (3* (2*(1) ) # şeklinde döngüye gerek kalmadan inner(number-1 ) fonksiyonu iç içe çalışır.