Python'da Faktöriyel Programı Yazmak

Writing Factorial Program Python



Bir sayının faktöriyeli, 1'den o sayıya kadar olan tüm sayıları çarptıktan sonra elde edilen sayıdır. Bir sayının faktöriyeli '!' sembolü ile gösterilir. Örneğin, 4! ile gösterilen 4'ün faktöriyelini bulmak istersek, sonuç 1x2x3x4 = 24 olur. Bir sayının faktöriyelini bulmanın birçok yolu vardır. Faktöriyel, Python'da döngü ve özyinelemeli işlevler için yerleşik işlev kullanılarak belirlenebilir. Bu öğretici, Python'un çeşitli işlevleri kullanılarak bir sayının faktöriyelinin nasıl belirlenebileceğini gösterir.

Örnek 1: Yerleşik işlevi kullanarak bir sayının faktöriyelini bulun

Python adında yerleşik bir işleve sahiptir. faktöriyel() altında matematik modül. Aşağıdaki komut dosyası, yerleşik bir sayı kullanarak herhangi bir sayının faktöriyelini hesaplar. faktöriyel() işlev. Bu komut dosyasında, giriş olarak herhangi bir geçerli tamsayı alınacak ve fonksiyon bu sayının faktöriyel değerini hesaplayacak ve giriş numarasının faktöriyel değerini yazdıracaktır.







#!/usr/bin/env python3
# Matematik modülünü içe aktar
içe aktarmak matematik
# Herhangi bir sayı değeri alın
n= int(giriş('Herhangi bir sayı girin:'))
# Faktöriyelini bulun
hakikat= matematik.faktöriyel(n)
# Faktöriyelin sonucunu yazdır
Yazdır('%d'nin faktöriyeli %d'%(n,hakikat))

Çıktı



Komut dosyasını çalıştırdıktan sonra, giriş numarası olarak 3 verilir ve 3!, 6'nın çıktısı yazdırılır.







Örnek 2: Döngüyü kullanarak bir sayının faktöriyelini bulun

Aşağıdaki komut dosyası, Python'da herhangi bir yerleşik işlev kullanmadan herhangi bir sayının faktöriyelini nasıl hesaplayabileceğinizi gösterir. Burada, için Bir sayının faktöriyelini hesaplamak için döngü kullanılır. Herhangi bir girdi tamsayı değeri, adlı değişken olarak alınacak ve saklanacaktır. n . adlı bir değişken hakikat faktöriyel sonucu saklamak için kullanılır ve döngüye girmeden önce 1 olarak başlatılır. değeri ise n birden fazla veya bire eşitse, döngü 1'den n+1'e kadar yinelenir ve faktöriyel değeri hesaplar. Aksi takdirde, döngü n'nin değerinin 0'a eşit mi yoksa negatif mi olduğunu kontrol edecektir. n'nin değeri 0 ise, faktöriyel sonuç 1 olacaktır; ve n'nin değeri negatif bir tam sayı ise, bir hata mesajı yazdırılacaktır.

#!/usr/bin/env python3

# Sayısal bir değer alın ve n'de saklayın
n= int(giriş('Herhangi bir sayı girin:'))
# Değişkeni başlat
hakikat= 1
# Girilen sayı 0'dan büyükse faktöriyelini bulun
Eğern> = 1:
# 1 ile n arasındaki sayıları çarpmak için döngüyü yineleyin
içinbeniçinde Aralık (1,n+1):
hakikat=gerçek * ben
# Faktöryel sonucu yazdır
Yazdır('%d faktöriyeli %d'dir.'%(n,hakikat))
Başka:
Eğern== 0:
# 0 sonucunu yazdırın!
Yazdır('Faktöriyel',n, ' NS ')
Başka:
# Hata mesajını yazdır
Yazdır('Herhangi bir pozitif sayı girmelisiniz')

Çıktı



Komut dosyası, aşağıdaki ekran görüntüsüne göre üç kez yürütülür. Komut dosyası 1, 6 ve -8 giriş değerleri için yürütülür. Çıkışlar, giriş değerlerine göre gösterilir.

Örnek 3: Özyinelemeli işlevi kullanarak bir sayının faktöriyelini bulun

İşlevin yürütülmesi sırasında kendisini çağıran işleve özyinelemeli işlev denir. Aşağıdaki komut dosyası, özyinelemeli bir işlev kullanarak herhangi bir tam sayının faktöriyelini hesaplamanın yolunu gösterir. Tam sayıyı girdi olarak aldıktan sonra özyinelemeli fonksiyon factorial_resursive () argüman olarak giriş değeri ile çağrılır. Girilen değer 0 veya 1 ise 1 döndürülür. Giriş değeri negatifse, argüman değeri döndürülür. Girdi değeri 1'den büyükse, faktöriyelin sonucunu hesaplayana kadar argümanı tekrar tekrar 1 ile çıkararak fonksiyon kendini çağırır.

#!/usr/bin/env python3
# Sayısal bir değer alın
sayı= int(giriş('Herhangi bir sayı girin:'))
# Faktöriyel hesaplamak için özyinelemeli işlevi tanımlayın
tanımfactorial_recursive(n):
# 0 ve 1'in faktöriyel sonucunu saklayın
Eğern== 0 veyan== 1:
sonuç= 1
# Negatif değer için giriş numarasını saklayın
elifn< 1:
sonuç=n
# Faktöriyel sonucu özyinelemeli şekilde bulun
Başka:
sonuç=n*factorial_recursive(n-1)
# Sonucu döndür
dönüşsonuç
# Fonksiyonu çağır
hakikat=factorial_recursive(sayı)
# Pozitif sayı için sonucu yazdır
Eğerhakikat> = 0:
Yazdır('%d faktöriyeli %d'dir.'%(sayı,hakikat))
Başka:
# Negatif sayı için mesajı yazdır
Yazdır('Herhangi bir pozitif sayı girmelisiniz')

Çıktı

Aşağıdaki ekran görüntüsünde, komut dosyası 1, -5 ve 8 değerleriyle üç kez yürütülür.

Örnek 4: İstisna işleme ile bir sayının faktöriyelini bulun

Yukarıdaki üç komut dosyası yalnızca sayının pozitif mi yoksa negatif mi olduğunu kontrol eder. Aşağıdaki komut dosyası, özel durum işleme ile yerleşik bir factorial() işlevi aracılığıyla faktöriyel değeri hesaplar. Kullanıcı bir tamsayı değeri olmayan herhangi bir girdi verirse, bir istisna oluşturulacak ve bir hata mesajı yazdırılacaktır.

#!/usr/bin/env python3
# Matematik modülünü içe aktar
içe aktarmak matematik
# try bloğuna meydan oku
denemek:
# Sayısal bir değer alın
n= int(giriş('Herhangi bir sayı girin:'))
Eğern> = 0:
# Faktöriyelini bulun
hakikat= matematik.faktöriyel(n)
# Faktöriyelin sonucunu yazdır
Yazdır('%d'nin faktöriyeli %d'%(n,hakikat))
Başka:
# Sayı negatifse istisna oluştur
artırmak İstisna('Herhangi bir pozitif sayı girmelisiniz')
# kesirli giriş için hata mesajını yazdır
hariç DeğerHatası:
Yazdır('Tam sayı girmelisiniz')
# Negatif giriş için hata mesajı yazdır
hariç İstisna olarakVe:
Yazdır('Hatalar'%Ve)

Çıktı

Komut dosyası, aşağıdaki ekran görüntüsünde h, -3 ve 7 değerleriyle üç kez yürütülür. Burada istisna, 'h' değeri için oluşturulur.

Çözüm

Bu öğretici, Python'da bir sayının faktöriyel değerini hesaplamanın farklı yollarından bazılarını gösterir. Bir sayının faktöriyeli kavramı ve faktöriyeli hesaplamak için Python tabanlı yöntemler, bu öğreticiyi okuduktan sonra okuyucu için net olmalıdır.