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.