Python

Menulis Program Factorial di Python

Menulis Program Factorial di 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 akan menjadi 1x2x3x4 = 24. Terdapat banyak cara untuk mengetahui faktor 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 dengan menggunakan built-in faktorial () fungsi. Dalam skrip ini, sebarang bilangan bulat yang sah akan diambil sebagai input, dan fungsi akan menghitung nilai faktorial dari nombor itu dan mencetak nilai faktorial dari nombor input.

#!/ usr / bin / env python3
# Import modul matematik
import matematik
# Ambil sebarang nilai nombor
n = int (masukan ("Masukkan sebarang nombor:"))
# Cari faktorial
fakta = matematik.faktorial (n)
# Cetak hasil faktorial
cetak ("Faktor faktor% d adalah% d"% (n, fakta))

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 bagi sebarang 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 faktor 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 (masukan ("Masukkan sebarang nombor:"))
# Permulaan pemboleh ubah
fakta = 1
# Ketahui faktorial jika nombor input lebih daripada 0
jika n> = 1:
# Ulangi gelung untuk menggandakan nombor dalam 1 hingga n
untuk i dalam julat (1, n + 1):
fakta = fakta * i
# Cetak hasil fcatorial
cetak ("Faktor faktor% d adalah% d."% (n, fakta))
lain:
jika n == 0:
# Cetak hasil 0!
cetak ("Faktor faktor", n, "adalah")
lain:
# Cetak mesej ralat
cetak ("Anda mesti memasukkan sebarang nombor positif")

Pengeluaran

Skrip dilaksanakan 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 integer 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 dari 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
number = int (masukan ("Masukkan sebarang nombor:"))
# Tentukan fungsi rekursif untuk mengira faktorial
def factorial_recursive (n):
# Simpan hasil pemarkahan 0 dan 1
jika n == 0 atau n == 1:
hasil = 1
# Simpan nombor input untuk nilai yang menarik
elif n < 1:
hasil = n
# Cari hasil faktor dengan kaedah rekursif
lain:
hasil = n * faktorial_recursive (n-1)
# Kembalikan hasilnya
hasil pulangan
# Panggil fungsi
fact = factorial_recursive (nombor)
# Cetak hasilnya untuk nombor positif
jika fakta> = 0:
cetak ("Faktor faktor% d adalah% d."% (bilangan, fakta))
lain:
# Cetak mesej untuk nombor negatif
cetak ("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 bilangan bulat, maka pengecualian akan dihasilkan, dan pesan kesalahan akan dicetak.

#!/ usr / bin / env python3
# Import modul matematik
import matematik
# Tolak blok cubaan
cuba:
# Ambil nilai berangka
n = int (masukan ("Masukkan sebarang nombor:"))
jika n> = 0:
# Cari faktorial
fakta = matematik.faktorial (n)
# Cetak hasil faktorial
cetak ("Faktor faktor% d adalah% d"% (n, fakta))
lain:
# Naikkan pengecualian jika bilangannya negatif
tingkatkan Pengecualian ("Anda mesti memasukkan sebarang nombor positif")
# cetak mesej ralat untuk input pecahan
kecuali ValueError:
cetak ("Anda mesti memasukkan nombor bulat")
# Cetak mesej ralat untuk input negatif
kecuali Pengecualian sebagai e:
cetak ('Ralat:% s'% e)

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.

Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...
Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...
Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...