İPUCU

Python Artificial Intelligence’da en çok kullanılan dildir ve gerekli dökümanların paylaşım alanlar burada paylaşılmaktadır.

Seçenekler

Python recursive fonksiyon ile faktöriyel hesabı örnek kodlar

s60v3 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
09/2012
Nereden:
Almanya
Mesajlar:
358
Konular:
75
Teşekkür (Etti):
42
Teşekkür (Aldı):
41
Ticaret:
(0) %
17-12-2017 15:56
#1
Python recursive fonksiyon ile faktöriyel hesabı örnek kodlar
Recursive fonksiyonlar,gerekli durumlarda kendi kendini çalıştırma özelliği olan fonksiyonlardır.
fakat her recursive fonksiyon limitlenmelidir,aşağıda da olduğu gibi num değeri yani verdiğimiz değerin 1in altına düşmesi durumunda sonsuz olarak fonksiyon çalışacak(aslında 995 kere) sonra hata verecekti,fakat bu programda 0 olması hata vermesine sebep olmayıp sonucu 0 gösterecekti

Kod:
__Author__ = "Aslan"


def fact(num):
    if num == 1:
        return num
    return num * fact(num-1)


print(fact(5))
---------------------
<?php
$imza = ot_get_option( 'imza_display' );
if ( ( $imza ) != 'off') :
echo 'Wordpress Tema Geliştiricisi'
?>

-

la vida es corta, los pajaros estan volando
Konu s60v3 tarafından (17-12-2017 15:58 Saat 15:58 ) değiştirilmiştir.
BufGix - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
Phobos/Space
Mesajlar:
1.023
Konular:
74
Teşekkür (Etti):
314
Teşekkür (Aldı):
446
Ticaret:
(0) %
17-12-2017 18:32
#2
Aslinda 999 kere
---------------------
~Cahile gelmez benden hayır
AstraRooter - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
12/2017
Nereden:
Ö T Ü K E N
Yaş:
20
Mesajlar:
577
Konular:
54
Teşekkür (Etti):
37
Teşekkür (Aldı):
110
Ticaret:
(0) %
17-12-2017 18:36
#3
s60v3 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
09/2012
Nereden:
Almanya
Mesajlar:
358
Konular:
75
Teşekkür (Etti):
42
Teşekkür (Aldı):
41
Ticaret:
(0) %
17-12-2017 18:51
#4
üzerinde geliştirme yaptığım ide 995 diyor ama siz bilirsiniz hocam
https://hizliresim.com/qJVa7R
---------------------
<?php
$imza = ot_get_option( 'imza_display' );
if ( ( $imza ) != 'off') :
echo 'Wordpress Tema Geliştiricisi'
?>

-

la vida es corta, los pajaros estan volando
BufGix - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
Phobos/Space
Mesajlar:
1.023
Konular:
74
Teşekkür (Etti):
314
Teşekkür (Aldı):
446
Ticaret:
(0) %
17-12-2017 19:52
#5
Alıntı:
s60v3´isimli üyeden Alıntı Mesajı göster
üzerinde geliştirme yaptığım ide 995 diyor ama siz bilirsiniz hocam
https://hizliresim.com/qJVa7R
Bende yaptim her calistiginda degeri 1 toplayip ekrana yazdirdim 999 kere yazdi sonra hata vermeye basladi cihaz farkina felan mi bagli acaba ?
---------------------
~Cahile gelmez benden hayır
TomRiddleBlack - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
06/2016
Mesajlar:
1.222
Konular:
130
Teşekkür (Etti):
338
Teşekkür (Aldı):
207
Ticaret:
(0) %
17-12-2017 20:15
#6
Kod:
#-*- coding: cp1254 -*-
import math

girdi = input("Faktoriyel Hesaplamak için Sayı Giriniz: ")
print math.factorial(girdi)
Bu daha mı basit
---------------------
بِسْــــــــــــــــــــــمِ اﷲِارَّحْمَنِ ارَّحِيم

జ్ఞ*ా
0x6e - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
12/2017
Mesajlar:
39
Konular:
3
Teşekkür (Etti):
5
Teşekkür (Aldı):
15
Ticaret:
(0) %
17-12-2017 20:45
#7
Recursion'ın bu gibi kullanımlarında memoization kullanılmalı.
Ama kodu kısaltmak istersek:

Kod:
def factorial(n):
   return 1 if n<1 else n*factorial(n-1)
Memo. ile tekrar yazarsak:

Kod:
data = {}
def factorial(n):
    if n in data: return data[n]
    if n<1 in data: return 1
    
    data[n] = n * factorial(n-1)
    return data[n]
Konu 0x6e tarafından (17-12-2017 20:53 Saat 20:53 ) değiştirilmiştir.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı