Python'da Faktöriyel Nasıl Bulunur [Kodlama Örnekleriyle]

Yayınlanan: 2020-11-30

İçindekiler

Tanıtım

İlkokulumuzda Matematik dersinde hepimiz bununla tanıştığımız için, her birimiz faktöriyel kelimesine aşina olmalıyız. Faktöriyel, birden başlayarak verilen tüm pozitif tam sayıların çarpımıdır. Faktoriyel sadece pozitif değerler için hesaplanır, Negatif ve Float türleri için hesaplanamaz.

Veri Bilimi sayesinde faktöriyel ve diğer matematiksel kavramları öğrenirken bunları gerçek hayatımda nerede kullanacağımı merak ettim çünkü Lineer Cebir, Olasılık, İstatistik gibi tüm matematiksel bileşenlerin önemini şimdi anlayabiliyordum.

Bu yazıda Faktöriyelin önemini, python kullanarak hesaplamanın farklı yollarını görelim.

Önem

Bir dünya yarış etkinliğinde 10 araba arasında bir yarış olduğuna bir örnek verelim ve bu 10 arabanın kaç farklı şekilde birinci, ikinci, üçüncü geldiğini bulmak için bir problem ifademiz var. Sadece 10 araba olduğu için, sadece bir kağıt alıp çeşitli kombinasyonları yazmak istiyoruz. Peki ya 100 veya daha fazla arabamız varsa ve bununla ilgili aynı veya benzer türde bir problem ifademiz varsa?

Bu tür durumların üstesinden gelmek için Permütasyon adı verilen bir şeye sahibiz . İlkokulumuzda bu terimin Permütasyon ve Kombinasyon olarak bilindiğini tahmin ediyorum. Veri Analizi ve istatistiksel becerilerinizi geliştirmek istiyorsanız bunlara çok ihtiyaç vardır. Yeni başlayan biriyseniz ve veri bilimi hakkında daha fazla bilgi edinmek istiyorsanız, en iyi üniversitelerden veri bilimi kurslarımıza göz atın. Bu, aşağıda belirtildiği gibi sorun ifadesini çözmeye yardımcı olur.

Çözüm

Toplam 10 arabamız var.

10 üzerinden 3 kazananın olasılığını bulmamız gerekiyor.

10! / (10-3)! = 10! / 7! = 720

Yani, bu 10 arabanın yarış etkinliğinde birinci, ikinci, üçüncü olması için toplam 720 olasılığımız var.

Python Uygulaması

Python, kod okunabilirliğine odaklanan üst düzey, yorumlanmış ve genel amaçlı bir programlama dilidir ve Python Dili'nde kullanılan sözdizimi, programcıların Java veya C++ ile karşılaştırıldığında daha az adımda kodlamayı tamamlamalarına yardımcı olur ve C'nin üzerine kuruludur.

Dil 1991 yılında geliştirici Guido Van Rossum tarafından kuruldu . Python, daha büyük kuruluşlarda yaygın olarak kullanılmaktadır, çünkü esas olarak Bilgisayarla Görme, Doğal Dil İşleme, Derin Öğrenme, Konuşma Tanıma, Yüz Tanıma, Ses Tanıma gibi çeşitli Yapay Zeka kullanım durumlarındadır.

Python çok güçlü bir programlama aracıdır ve gerçek hayatta çok çeşitli kullanım durumları için kullanılabilir. Kodu açıkça yazmadan belirli bir sayının faktöriyelini hesaplayabilen doğrudan bir işlev sunar. Ancak saf bir yaklaşımla başlayalım ve sonunda bu işlevi öğrenelim.

Ayrıca Okuyun: Python geliştiriciler arasında neden bu kadar popüler?

Döngü için

Bir sayının faktöriyelini her adımda çarparak 1'den verilen sayıya kadar yineleyerek hesaplayabiliriz. Yukarıda tartışılan yaklaşımın kodlama kısmına geçelim.

kod

sayı = giriş (“Bir Sayı Girin:”) # İdeal olarak herhangi bir yazdırma mesajını kullanabilirsiniz

faktöriyel = 1

if int (sayı) >=1: # Verilen sayının pozitif olup olmadığını kontrol etmek için.

aralıktaki i için (1, int(sayı)+1): # 1 numaradan döngü

faktöriyel = faktöriyel * I # Her sayı ile çarpma.

print (“, sayı, ”nın faktöriyel: “, faktöriyel) # Hesaplanan faktöriyelin çıktısını alın.

Çıktı

Yukarıdaki kodu çalıştırmak size aşağıdaki çıktıyı verecektir:

Bir Sayı Girin :5

5'in faktöriyeli: 120

Özyinelemeli İşlev

Bu durumda, belirli bir sayının faktöriyelini hesaplamamıza yardımcı olacak python'da kendi kullanıcı tanımlı fonksiyonumuzu yaratacağız.

kod

sayı = giriş (“Bir sayı girin: “)

def recursive_factorial(sayı): # Kullanıcı tanımlı özyinelemeli fonksiyon.

if sayı == 1: # Verilen sayının 1 olması koşulu

dönüş numarası

elif sayısı < 1: # Verilen sayının 1'den küçük olması koşulu

dönüş (“Verilen sayı birden küçüktür ve faktöriyel hesaplanamaz.”)

Başka:

dönüş numarası*recursive_factorial(sayı – 1)

print (recursive_factorial(int(sayı)))

Çıktı

Yukarıdaki kodu çalıştırmak size aşağıdaki çıktıyı verecektir:

Bir sayı girin: 5

120

Bir sayı girin: -2

Verilen sayı birden küçük ve faktöriyel hesaplanamıyor

Bir sayı girin: 1

1

Matematik Paketinde faktöriyel fonksiyon

Python, kullanım kolaylığı ve birçok görevi basitleştirecek kullanıcı dostu üçüncü taraf paketleri ile tanınır. Mevcut senaryoda Python, Veri Bilimcileri için başvurulacak dildir.

kod

matematik içe aktar # Gerekli paket

sayı= input("Bir sayı giriniz: ")

print(“, sayı, ”nın faktöriyeli : “)

print(math.factorial(int(sayı))) # Faktöriyel hesaplama işlevi

Çıktı

Yukarıdaki kodu çalıştırmak size aşağıdaki çıktıyı verecektir:

Bir sayı girin: 5

5'in faktöriyeli:

120

Bir sayı girin: 5.6

Geri izleme (en son arama en son):

5.6'nın faktöriyeli:

Dosya “C:/Users….py”, satır 5, içinde

print(math.factorial(int(sayı)))

ValueError : int() için 10 tabanlı geçersiz değişmez değer: '5.6'

Float tamsayının Faktöriyelini hesaplayamadığımız için değer hatası alıyoruz. Python kodunu açıkça yazarken, tüm koşulları kontrol etmeye ve ilgili mesajı çıkarmaya özen göstermeliyiz, ancak python'daki Math paketinin faktöriyel işlevinde, bizim için her şeyi yapar, bu da bizim için satır kodumuzu azaltmamıza yardımcı olur. Faktöriyelin Projemizde veya herhangi bir sorun bildiriminde kullanımı.

Okumalısınız: Python Eğitimi

Çözüm

Bu yazıda Faktöriyel ve diğer önemli matematiksel kavramların gerçek hayattaki önemini ve uygulamasını öğrendik. Belirli bir sayının Faktöriyelini hesaplamak için farklı kod türlerini inceledim. Bu makale Python'daki Faktöriyel'i kapsar, ancak MATH paketinde mevcut birçok başka matematiksel hesaplama vardır. Python'a yeni başlayanlar, onlara daha derinlemesine bakabilir ve hatta birkaçını deneyebilir.

Veri bilimi hakkında bilgi edinmek istiyorsanız, IIIT -B & upGrad'ın çalışan profesyoneller için oluşturulmuş ve 10'dan fazla vaka çalışması ve proje, uygulamalı uygulamalı atölye çalışmaları, endüstri uzmanlarıyla mentorluk, 1 Endüstri danışmanlarıyla bire bir, en iyi firmalarla 400+ saat öğrenim ve iş yardımı.

Python'da özyineleme nedir?

Python'da özyineleme, kesin bir sonuca ulaşmak için veriler arasında döngü yapmak anlamına gelir. Bir şeyin (bir ifade veya fonksiyon) kendi terimleriyle tanımlandığı, iyi bilinen bir matematiksel ve programlama sürecidir. Özyineleme yardımıyla, Kullanıcılar veya geliştiriciler karmaşık kodları ve işlevleri daha küçük alt bölümlere ayırabilir ve bir dizi oluşturmak çok daha erişilebilir hale gelir. Bir geliştirici özyinelemeyi kullanırken ekstra özen göstermelidir, çünkü asla sonlandırmayan veya aşırı miktarda bellek veya CPU gücü tüketen bir işlev yazmak oldukça sıktır. Doğru yapıldığında özyineleme, programlamanın son derece verimli ve matematiksel olarak yenilikçi bir yolu olabilir.

Python temellerini öğrenmek ne kadar zaman alır?

Python en basit programlama dili olarak kabul edilir, bu nedenle Python'un temellerini öğrenmek kolaydır ve çok zaman almaz. Öğrenciler veya profesyoneller, Python'un temellerini öğrenmek için 1-2 ay ayırabilirler. Ayrıca bir profesyonel, her gün yaklaşık 2-3 saat ayırarak tüm temel python işlevleri ve kitaplıklarında 4-5 ay içinde ustalaşabilir. Kodların çoğu daha az ifadeye sahip olduğundan ve daha fazla önceden tanımlanmış işlev olduğundan Python'u kavramak kolaydır.

Python'daki faktöriyel programın zaman karmaşıklığı nedir?

Faktöriyel(0)'ın yalnızca bir karşılaştırma (1 birim zaman) olduğunu ve faktöriyel(n)'nin bir karşılaştırma, bir çarpma, bir çıkarma ve faktöriyel (n-1) için zaman olduğunu faktöriyel programdan keşfettik. Yani T(n) = T(n — 1) + 3 ve T(0) = 1 diyebiliriz. Değerleri koyarak, Big-Oh notasyonunda görüldüğü gibi, T(N)'nin n ile doğru orantılı olduğunu buluruz. Sonuç olarak, faktöriyel programın zamansal karmaşıklığı O(n)'dir.