Menulis Program Faktorial dengan Python

Writing Factorial Program Python



Faktorial suatu bilangan adalah bilangan yang diperoleh setelah mengalikan semua bilangan dari 1 ke bilangan tersebut. Faktorial suatu bilangan dilambangkan dengan simbol ‘!’. Misalnya, jika kita ingin mencari faktorial dari 4, dilambangkan dengan 4!, maka hasilnya adalah 1x2x3x4 = 24. Ada banyak cara untuk mencari faktorial suatu bilangan. Faktorial dapat ditentukan dengan Python menggunakan fungsi bawaan untuk fungsi loop dan rekursif. Tutorial ini menunjukkan bagaimana faktorial suatu bilangan dapat ditentukan menggunakan berbagai fungsi Python.

Contoh 1: Temukan faktorial suatu bilangan menggunakan fungsi bawaan

Python memiliki fungsi bawaan bernama faktorial() di bawah matematika modul. Skrip berikut menghitung faktorial dari bilangan apa pun menggunakan built-in faktorial() fungsi. Dalam skrip ini, setiap bilangan bulat yang valid akan diambil sebagai input, dan fungsi akan menghitung nilai faktorial dari angka tersebut dan mencetak nilai faktorial dari angka input.







#!/usr/bin/env python3
# Impor modul matematika
impor matematika
# Ambil nilai angka apa pun
n= ke dalam(memasukkan('Masukkan nomor apa saja:'))
# Cari tahu faktorialnya
fakta= matematika.faktorial(n)
# Cetak hasil faktorial
mencetak('Faktorial dari %d adalah %d'%(n,fakta))

Keluaran



Setelah menjalankan skrip, 3 diberikan sebagai nomor input dan output dari 3!, 6, dicetak.







Contoh 2: Temukan faktorial suatu bilangan menggunakan loop

Skrip berikut menunjukkan bagaimana Anda dapat menghitung faktorial dari bilangan apa pun tanpa menggunakan fungsi bawaan apa pun di Python. Di sini, untuk loop digunakan untuk menghitung faktorial suatu bilangan. Nilai integer input apa pun akan diambil dan disimpan sebagai variabel bernama n . Sebuah variabel bernama fakta digunakan untuk menyimpan hasil faktorial dan diinisialisasi ke 1 sebelum masuk ke loop. Jika nilai n lebih dari satu atau sama dengan satu, maka loop akan melakukan iterasi 1 sampai n+1 kali dan akan menghitung nilai faktorial. Jika tidak, loop akan memeriksa apakah nilai n sama dengan 0 atau negatif. Jika nilai n adalah 0, maka hasil faktorialnya adalah 1; dan jika nilai n adalah bilangan bulat negatif, maka akan tercetak pesan error.

#!/usr/bin/env python3

# Ambil nilai numerik dan simpan di n
n= ke dalam(memasukkan('Masukkan nomor apa saja:'))
# Inisialisasi variabel
fakta= 1
# Cari tahu faktorial jika angka input lebih dari 0
jikan> = 1:
# Ulangi loop ke beberapa angka dalam 1 hingga n
untukSayadi dalam jangkauan (1,n+1):
fakta=fakta * aku
# Cetak hasil faktorial
mencetak('Faktorial dari %d adalah %d.'%(n,fakta))
lain:
jikan== 0:
# Cetak hasil 0!
mencetak('Faktorial dari',n, ' adalah ')
lain:
# Cetak pesan kesalahan
mencetak('Anda harus memasukkan angka positif apa pun')

Keluaran



Script dijalankan tiga kali, sesuai dengan tangkapan layar berikut. Script dijalankan untuk nilai input 1, 6, dan -8. Output ditampilkan sesuai dengan nilai input.

Contoh 3: Temukan faktorial suatu bilangan menggunakan fungsi rekursif

Fungsi yang memanggil dirinya sendiri selama eksekusi fungsi disebut fungsi rekursif. Skrip berikut menunjukkan cara menghitung faktorial bilangan bulat apa pun menggunakan fungsi rekursif. Setelah mengambil bilangan bulat sebagai input, fungsi rekursif faktorial_resursive() akan dipanggil, dengan nilai input sebagai argumen. Jika nilai input adalah 0 atau 1, maka 1 akan dikembalikan. Jika nilai input negatif, maka nilai argumen akan dikembalikan. Jika nilai input lebih dari 1, maka fungsi tersebut akan memanggil dirinya sendiri dengan cara mengurangkan argumen dengan 1 berulang-ulang hingga menghitung hasil faktorial.

#!/usr/bin/env python3
# Ambil nilai numerik
nomor= ke dalam(memasukkan('Masukkan nomor apa saja:'))
# Tentukan fungsi rekursif untuk menghitung faktorial
deffaktorial_rekursif(n):
# Simpan hasil faktorial 0 dan 1
jikan== 0 ataun== 1:
hasil= 1
# Simpan nomor input untuk nilai negatif
elifn< 1:
hasil=n
# Temukan hasil faktorial dengan cara rekursif
lain:
hasil=n*faktorial_rekursif(n-1)
# Kembalikan hasilnya
kembalihasil
# Panggil fungsinya
fakta=faktorial_rekursif(nomor)
# Cetak hasil untuk bilangan positif
jikafakta> = 0:
mencetak('Faktorial dari %d adalah %d.'%(nomor,fakta))
lain:
# Cetak pesan untuk nomor negatif
mencetak('Anda harus memasukkan angka positif apa pun')

Keluaran

Pada tangkapan layar berikut, skrip dijalankan tiga kali dengan nilai 1, -5, dan 8.

Contoh 4: Temukan faktorial dari suatu bilangan dengan penanganan pengecualian

Tiga skrip di atas hanya memeriksa apakah angkanya positif atau negatif. Skrip berikut menghitung faktorial melalui fungsi faktorial() bawaan dengan penanganan pengecualian. Jika pengguna memberikan input apa pun tanpa nilai integer, maka pengecualian akan dibuat, dan pesan kesalahan akan dicetak.

#!/usr/bin/env python3
# Impor modul matematika
impor matematika
# Menentang blok coba
mencoba:
# Ambil nilai numerik
n= ke dalam(memasukkan('Masukkan nomor apa saja:'))
jikan> = 0:
# Cari tahu faktorialnya
fakta= matematika.faktorial(n)
# Cetak hasil faktorial
mencetak('Faktorial dari %d adalah %d'%(n,fakta))
lain:
# Naikkan eksepsi jika angkanya negatif
menaikkan Pengecualian('Anda harus memasukkan angka positif apa pun')
# cetak pesan kesalahan untuk input pecahan
kecuali NilaiError:
mencetak('Anda harus memasukkan bilangan bulat')
# Cetak pesan kesalahan untuk input negatif
kecuali Pengecualian sebagaiDan:
mencetak('Kesalahan:%s'%Dan)

Keluaran

Script dijalankan tiga kali dengan nilai h, -3, dan 7 pada tangkapan layar berikut. Di sini, pengecualian dihasilkan untuk nilai, 'h.'

Kesimpulan

Tutorial ini menunjukkan beberapa cara berbeda untuk menghitung nilai faktorial dari sebuah bilangan dengan Python. Konsep faktorial suatu bilangan dan metode berbasis Python untuk menghitung faktorial harus jelas bagi pembaca setelah membaca tutorial ini.