Python

Menulis Program Faktorial dengan Python

Menulis Program Faktorial dengan Python
Faktorial suatu bilangan adalah bilangan yang diperoleh setelah mengalikan semua bilangan dari 1 ke bilangan itu. Faktorial suatu bilangan dilambangkan dengan '!' simbol. Misalnya, jika kita ingin mencari faktorial dari 4, dilambangkan 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 built

Python memiliki fungsi bawaan bernama faktorial() di bawah matematika modul. Skrip berikut menghitung faktorial dari angka apa pun menggunakan built-in faktorial() fungsi. Dalam skrip ini, setiap bilangan bulat yang valid akan diambil sebagai input, dan fungsinya 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 = int(input("Masukkan sembarang bilangan : "))
# Cari tahu faktorialnya
fakta = matematika.faktorial (n)
# Cetak hasil faktorial
print("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 angka 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 tidak. Sebuah variabel bernama fakta digunakan untuk menyimpan hasil faktorial dan diinisialisasi ke 1 sebelum masuk ke loop. Jika nilai tidak 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 = int(input("Masukkan sembarang bilangan : "))
# Inisialisasi variabel
fakta = 1
# Cari tahu faktorial jika angka input lebih dari 0
jika n >= 1:
# Ulangi loop ke beberapa angka dalam 1 hingga n
untuk i dalam rentang (1,n+1):
fakta = fakta * i
# Cetak hasil faktorial
print("Faktorial dari %d adalah %d." %(n,fakta))
lain:
jika n == 0:
# Cetak hasil 0!
print("Faktorial dari ", n , " adalah ")
lain:
# Cetak pesan kesalahan
print("Anda harus memasukkan bilangan positif apa saja")

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 dari 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 akan memanggil dirinya sendiri dengan cara mengurangkan argumen dengan 1 berulang-ulang hingga menghitung hasil faktorial.

#!/usr/bin/env python3
# Ambil nilai numerik
angka = int(input("Masukkan sembarang angka : "))
# Tentukan fungsi rekursif untuk menghitung faktorial
def factorial_recursive(n):
# Simpan hasil faktorial 0 dan 1
jika n == 0 atau n == 1:
hasil = 1
# Simpan nomor input untuk nilai negatif
elif n < 1:
hasil = n
# Temukan hasil faktorial dengan cara rekursif
lain:
hasil = n*faktorial_rekursif(n-1)
# Kembalikan hasilnya
hasil kembali
# Panggil fungsinya
fakta = faktorial_rekursif(angka)
# Cetak hasil untuk bilangan positif
jika fakta >= 0:
print("Faktorial dari %d adalah %d." %(angka, fakta))
lain:
# Cetak pesan untuk nomor negatif
print("Anda harus memasukkan bilangan positif apa saja")

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 = int(input("Masukkan sembarang bilangan : "))
jika n >= 0 :
# Cari tahu faktorialnya
fakta = matematika.faktorial (n)
# Cetak hasil faktorial
print("Faktorial dari %d adalah %d" %(n,fakta))
lain:
# Naikkan eksepsi jika angkanya negatif
raise Exception("Anda harus memasukkan bilangan positif apa saja")
# cetak pesan kesalahan untuk input pecahan
kecuali ValueError:
print("Anda harus memasukkan bilangan bulat")
# Cetak pesan kesalahan untuk input negatif
kecuali Pengecualian sebagai e:
print('Kesalahan:%s' %e)

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 suatu bilangan dengan Python. Konsep faktorial suatu bilangan dan metode berbasis Python untuk menghitung faktorial harus jelas bagi pembaca setelah membaca tutorial ini.

SuperTuxKart untuk Linux
SuperTuxKart adalah judul hebat yang dirancang untuk memberi Anda pengalaman Mario Kart gratis di sistem Linux Anda. Ini cukup menantang dan menyenang...
Pertempuran untuk Tutorial Westnoth
The Battle for Wesnoth adalah salah satu game strategi open source terpopuler yang bisa kamu mainkan saat ini. Tidak hanya game ini telah dikembangkan...
0 A.D. tutorial
Dari sekian banyak game strategi di luar sana, 0 A.D. berhasil menonjol sebagai judul yang komprehensif dan permainan taktis yang sangat dalam meskipu...