Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Factorial:A Guide

วิธีการคำนวณแฟกทอเรียลหลาม

คุณอาจจำคำว่า "แฟกทอเรียล" จากชั้นเรียนคณิตศาสตร์ระดับมัธยมปลายของคุณได้ มันไม่ง่ายเลยที่จะคำนวณหากไม่มีเครื่องคิดเลข ใครอยากคำนวณแฟกทอเรียลของ 10 โดยการคูณ 1x2x3x4 ด้วยตนเองและอื่นๆ?

มีสองสามวิธีที่คุณสามารถคำนวณแฟกทอเรียลใน Python ในคู่มือนี้ เราจะพูดถึงวิธีคำนวณแฟกทอเรียลโดยใช้สามวิธี:วิธีทางคณิตศาสตร์ แฟกทอเรียล ฟังก์ชันแบบเรียกซ้ำ และวิธีการวนซ้ำ

เริ่มกันเลย!

แฟกทอเรียลคืออะไร

แฟกทอเรียลเป็นผลคูณของจำนวนเต็มทั้งหมดระหว่างจำนวนหนึ่งกับอีกจำนวนหนึ่ง

แสดงเป็นสูตรทางคณิตศาสตร์ แฟกทอเรียลคือ:

n! = 1x2x3...n

เครื่องหมายอัศเจรีย์ระบุว่าเรากำลังคำนวณแฟกทอเรียล “n” คือจำนวนที่เรากำลังคำนวณแฟกทอเรียล การคำนวณของเราจะหยุดเมื่อเราคูณจำนวนเต็มที่น้อยกว่าหรือเท่ากับ "n" ทั้งหมดเข้าด้วยกัน

ไม่สามารถคำนวณแฟกทอเรียลกับตัวเลขติดลบได้

Python Factorial:math.factorial()

คุณสามารถคำนวณแฟกทอเรียลโดยใช้โมดูลคณิตศาสตร์ Python ไลบรารีนี้มีวิธีการมากมายที่คุณสามารถใช้เพื่อดำเนินการฟังก์ชันทางคณิตศาสตร์ ตัวอย่างเช่น คุณสามารถใช้ห้องสมุดคณิตศาสตร์เพื่อสร้างตัวเลขสุ่ม

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

math.factorial() วิธีรับตัวเลขและคำนวณแฟกทอเรียล ก่อนที่เราจะใช้วิธีนี้ เราต้องนำเข้าไลบรารีคณิตศาสตร์ลงในโค้ดของเราก่อน:

import math

ตอนนี้ มาเขียนโปรแกรม Python เพื่อหาแฟกทอเรียลของ 17 กัน:

number = 17
fact = math.factorial(number)
print("The factorial of {} is {}.".format(number, str(fact)))

รหัสของเราส่งคืน:แฟกทอเรียลของ 17 คือ 355687428096000

factorial() วิธีคืนค่าแฟกทอเรียลของตัวเลข

เราพิมพ์หมายเลขนั้นไปที่คอนโซลพร้อมข้อความ:“แฟกทอเรียลของ 17 คือ ” เราใช้ format() คำสั่งเพื่อให้เราสามารถเพิ่มหมายเลขของเราในสตริงของเรา

Python Factorial:วิธีการวนซ้ำ

แฟกทอเรียลสามารถคำนวณได้โดยไม่ต้องใช้ไลบรารี Python ภายนอก คุณสามารถคำนวณแฟกทอเรียลได้โดยใช้คำสั่ง for statement อย่างง่ายที่คำนวณผลคูณของตัวเลขทั้งหมดในช่วงคูณเข้าด้วยกัน

เริ่มต้นด้วยการประกาศตัวแปรสองตัว:

number = 17
fact = 1

ตัวแปรแรกสอดคล้องกับตัวเลขที่เราต้องการคำนวณแฟกทอเรียล ตัวแปรที่สองจะติดตามผลรวมของแฟคทอเรียล

ต่อไป เราต้องสร้าง for loop ที่วนซ้ำทุกตัวเลขในช่วงหนึ่งและจำนวนของเรา:

for num in range(1, number+1):
	fact = fact * num

print("The factorial of {} is {}.".format(number, str(fact)))

for loop คำนวณแฟกทอเรียลของตัวเลข พิมพ์คำสั่งแสดงให้เราเห็นแฟกทอเรียลทั้งหมดที่คำนวณในลูปของเรา

รหัสของเราส่งคืน:แฟกทอเรียลของ 17 คือ 355687428096000

วิธีนี้มีประสิทธิภาพน้อยกว่า math.factorial() . เล็กน้อย กระบวนการ. นี่เป็นเพราะว่า math.factorial() วิธีการดำเนินการโดยใช้วิธีการดำเนินการประเภท C สิ่งนี้มีประโยชน์ด้านประสิทธิภาพหลายประการ

หากคุณต้องการคำนวณแฟกทอเรียลของตัวเลขโดยไม่ต้องใช้ไลบรารีภายนอก วิธีวนซ้ำเป็นวิธีที่มีประโยชน์

Python Factorial:วิธีการแบบเรียกซ้ำ

แฟกทอเรียลสามารถคำนวณได้โดยใช้ฟังก์ชันแบบเรียกซ้ำ ฟังก์ชันแบบเรียกซ้ำคือฟังก์ชันที่เรียกตัวเองเพื่อแก้ปัญหาเฉพาะ

ฟังก์ชันแบบเรียกซ้ำมักใช้ในการคำนวณลำดับทางคณิตศาสตร์หรือเพื่อแก้ปัญหาทางคณิตศาสตร์ เนื่องจากมักจะมีสูตรที่กำหนดไว้ซึ่งใช้ในการคำนวณคำตอบของปัญหา

เปิดไฟล์ Python แล้ววางในฟังก์ชันต่อไปนี้:

def calculate_factorial(number):
	if number == 1:
		return number
	else:
		return number * calculate_factorial(number - 1)

ฟังก์ชันนี้จะคำนวณแฟกทอเรียลของตัวเลขซ้ำๆ ต่อไป เราต้องเขียนโปรแกรมหลักที่ใช้ฟังก์ชันนี้:

number = 17
fact = calculate_factorial(number)

print("The factorial of {} is {}.".format(number, str(fact)))

เราได้ประกาศตัวแปรสองตัว:ตัวเลขและข้อเท็จจริง Number คือตัวเลขที่เราต้องการคำนวณแฟกทอเรียล “fact” ถูกกำหนดผลลัพธ์ของ calculate_factorial() ฟังก์ชันที่คำนวณแฟกทอเรียลของเรา ต่อไป เราพิมพ์คำตอบไปที่คอนโซล

รหัสของเราส่งคืน:แฟกทอเรียลของ 17 คือ 355687428096000

บทสรุป

แฟกทอเรียลมักใช้ในวิชาคณิตศาสตร์ เป็นผลคูณของจำนวนเต็มทั้งหมดจากจำนวนหนึ่งไปอีกจำนวนหนึ่งเมื่อคูณเข้าด้วยกัน

คุณสามารถคำนวณแฟกทอเรียลใน Python ได้โดยใช้ math.factorial() วิธีการวนซ้ำ หรือฟังก์ชันแบบเรียกซ้ำ วิธีการแบบวนซ้ำและแบบเรียกซ้ำสามารถเขียนด้วยสิ่งที่เรียกว่า “vanilla Python” ซึ่งหมายความว่าคุณไม่จำเป็นต้องนำเข้าไลบรารีใดๆ เพื่อคำนวณแฟคทอเรียลด้วยวิธีการเหล่านี้

ตอนนี้คุณพร้อมที่จะคำนวณแฟกทอเรียลใน Python อย่างผู้เชี่ยวชาญแล้ว!