Menulis Program Factorial di Python

Writing Factorial Program Python



Faktor faktor bagi nombor adalah nombor yang anda dapat setelah mengalikan semua nombor dari 1 hingga nombor itu. Faktor faktor nombor dilambangkan dengan simbol ‘!’. Sebagai contoh, jika kita ingin mengetahui faktorial dari 4, dilambangkan 4 !, maka hasilnya adalah 1x2x3x4 = 24. Terdapat banyak cara untuk mengetahui faktorial nombor. Faktorial boleh ditentukan dalam Python menggunakan fungsi terbina dalam untuk fungsi gelung dan rekursif. Tutorial ini menunjukkan bagaimana faktorial nombor dapat ditentukan menggunakan pelbagai fungsi Python.

Contoh 1: Cari faktorial nombor menggunakan fungsi terbina dalam

Python mempunyai fungsi terbina dalam bernama faktorial () di bawah matematik modul. Skrip berikut mengira faktorial bagi sebarang nombor menggunakan terbina dalam faktorial () fungsi. Dalam skrip ini, sebarang nombor bulat yang sah akan diambil sebagai input, dan fungsinya akan mengira nilai faktorial dari nombor itu dan mencetak nilai faktorial dari nombor input.







#! / usr / bin / env python3
# Import modul matematik
mengimport matematik
# Ambil sebarang nilai nombor
n= int(input('Masukkan sebarang nombor:'))
# Cari faktorial
hakikat= matematik.faktorial(n)
# Cetak hasil faktorial
mencetak('Faktor faktor% d adalah% d'%(n,hakikat))

Pengeluaran



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







Contoh 2: Cari faktorial nombor menggunakan gelung

Skrip berikut menunjukkan bagaimana anda boleh mengira faktorial nombor tanpa menggunakan fungsi terbina dalam Python. Di sini, untuk gelung digunakan untuk mengira faktorial bagi suatu nombor. Sebarang nilai integer input akan diambil dan disimpan sebagai pemboleh ubah yang dinamakan n . Pemboleh ubah bernama hakikat digunakan untuk menyimpan hasil faktorial dan diinisialisasi menjadi 1 sebelum memasuki gelung. Sekiranya nilai n lebih daripada satu atau sama dengan satu, maka gelung akan berulang selama 1 hingga n + 1 kali dan akan mengira nilai faktor. Jika tidak, gelung akan memeriksa sama ada nilai n sama dengan 0 atau negatif. Sekiranya nilai n adalah 0, maka hasil faktor akan menjadi 1; dan jika nilai n adalah bilangan bulat negatif, maka mesej ralat akan dicetak.

#! / usr / bin / env python3

# Ambil nilai angka dan simpan di n
n= int(input('Masukkan sebarang nombor:'))
# Permulaan pemboleh ubah
hakikat= 1
# Ketahui faktorial jika nombor input lebih daripada 0
sekiranyan> = 1:
# Ulangi gelung untuk menggandakan nombor dalam 1 hingga n
untukidalam julat (1,n +1):
hakikat=fakta * i
# Cetak hasil fcatorial
mencetak('Faktor faktor% d adalah% d.'%(n,hakikat))
yang lain:
sekiranyan== 0:
# Cetak hasil 0!
mencetak('Faktor faktor',n, 'adalah')
yang lain:
# Cetak mesej ralat
mencetak('Anda mesti memasukkan sebarang nombor positif')

Pengeluaran



Skrip dijalankan tiga kali, mengikut tangkapan skrin berikut. Skrip dijalankan untuk nilai input 1, 6, dan -8. Keluaran ditunjukkan mengikut nilai input.

Contoh 3: Cari faktorial nombor menggunakan fungsi rekursif

Fungsi yang memanggil dirinya sendiri semasa pelaksanaan fungsi disebut fungsi rekursif. Skrip berikut menunjukkan cara untuk mengira faktorial bagi sebarang nombor bulat menggunakan fungsi rekursif. Setelah mengambil nombor bulat sebagai input, fungsi rekursif factorial_resursive () akan dipanggil, dengan nilai input sebagai argumen. Sekiranya nilai input adalah 0 atau 1, maka 1 akan dikembalikan. Sekiranya nilai input negatif, maka nilai argumen akan dikembalikan. Sekiranya nilai input lebih daripada 1, maka fungsi akan memanggil dirinya sendiri dengan mengurangkan argumen dengan 1 berulang kali sehingga ia mengira hasil faktorial.

#! / usr / bin / env python3
# Ambil nilai berangka
nombor= int(input('Masukkan sebarang nombor:'))
# Tentukan fungsi rekursif untuk mengira faktorial
deffactorial_recursive(n):
# Simpan hasil faktor 0 dan 1
sekiranyan== 0 ataun== 1:
hasil= 1
# Simpan nombor input untuk nilai yang menarik
elifn< 1:
hasil=n
# Cari hasil faktor dengan cara rekursif
yang lain:
hasil=n * factorial_recursive(n-1)
# Kembalikan hasilnya
kembalihasil
# Panggil fungsi
hakikat=factorial_recursive(nombor)
# Cetak hasilnya untuk nombor positif
sekiranyahakikat> = 0:
mencetak('Faktor faktor% d adalah% d.'%(nombor,hakikat))
yang lain:
# Cetak mesej untuk nombor negatif
mencetak('Anda mesti memasukkan sebarang nombor positif')

Pengeluaran

Pada tangkapan skrin berikut, skrip dilaksanakan tiga kali dengan nilai 1, -5, dan 8.

Contoh 4: Cari faktor nombor bagi pengecualian

Tiga skrip di atas hanya memeriksa sama ada nombor itu positif atau negatif. Skrip berikut mengira faktorial melalui fungsi faktorial terbina dalam () dengan pengecualian pengendalian. Sekiranya pengguna memberikan input tanpa nilai integer, maka pengecualian akan dihasilkan, dan pesan kesalahan akan dicetak.

#! / usr / bin / env python3
# Import modul matematik
mengimport matematik
# Tolak blok cubaan
cuba:
# Ambil nilai berangka
n= int(input('Masukkan sebarang nombor:'))
sekiranyan> = 0:
# Cari faktorial
hakikat= matematik.faktorial(n)
# Cetak hasil faktorial
mencetak('Faktor faktor% d adalah% d'%(n,hakikat))
yang lain:
# Naikkan pengecualian jika bilangannya negatif
menaikkan Pengecualian('Anda mesti memasukkan sebarang nombor positif')
# mencetak mesej ralat untuk input pecahan
kecuali Kesalahan Nilai:
mencetak('Anda mesti memasukkan nombor bulat')
# Cetak mesej ralat untuk input negatif
kecuali Pengecualian sebagaiDan:
mencetak('Ralat:% s'% Dan)

Pengeluaran

Skrip dilaksanakan tiga kali dengan nilai h, -3, dan 7 pada tangkapan skrin berikut. Di sini, pengecualian dihasilkan untuk nilai, 'h.'

Kesimpulannya

Tutorial ini menunjukkan beberapa cara berbeza untuk mengira nilai faktor bagi nombor di Python. Konsep faktorial nombor dan kaedah berasaskan Python untuk mengira faktorial harus jelas kepada pembaca setelah membaca tutorial ini.