วิธีค้นหาแฟกทอเรียลใน Python [พร้อมตัวอย่างการเข้ารหัส]
เผยแพร่แล้ว: 2020-11-30สารบัญ
บทนำ
พวกเราทุกคนต้องคุ้นเคยกับคำว่าแฟกทอเรียล เนื่องจากเราทุกคนคุ้นเคยกับสิ่งนั้นในโรงเรียนประถมของเราในวิชาคณิตศาสตร์ แฟกทอเรียลเป็นผลคูณของจำนวนเต็มบวกทั้งหมดที่เริ่มจากหนึ่งถึงจำนวนที่กำหนด แฟกทอเรียลคำนวณสำหรับค่าบวกเท่านั้น และไม่สามารถคำนวณสำหรับประเภทค่าลบและค่าโฟลต
ฉันสงสัยว่าเมื่อใดที่ฉันเรียนรู้แฟกทอเรียลและแนวคิดทางคณิตศาสตร์อื่นๆ ที่ฉันจะใช้มันในชีวิตจริง ต้องขอบคุณ Data Science เนื่องจากตอนนี้ฉันสามารถเข้าใจถึงความสำคัญขององค์ประกอบทางคณิตศาสตร์ทั้งหมด เช่น พีชคณิตเชิงเส้น ความน่าจะเป็น สถิติ
ให้เราดูความสำคัญของ Factorial วิธีต่างๆ ในการคำนวณโดยใช้ python ในบทความนี้
ความสำคัญ
ให้เรายกตัวอย่างว่าเรามีการแข่งขันระหว่าง 10 คันในการแข่งขันระดับโลก และเรามีปัญหาในการหาว่ารถ 10 คันนั้นมาที่หนึ่ง สอง สาม มีกี่วิธี เนื่องจากมีเพียง 10 คัน เราจึงอยากเอากระดาษมาเขียนถึงการผสมต่างๆ แต่ถ้าเรามีรถ 100 คันขึ้นไป เหตุการณ์และเรามีปัญหาแบบเดียวกันหรือคล้ายกันในนั้นล่ะ?
เพื่อจัดการกับสถานการณ์เหล่านี้ เรามีสิ่งที่เรียกว่า การ เรียงสับเปลี่ยน ฉันเดาว่าคุณคงรู้จักเทอมนี้เป็นพีชคณิตและการรวมในโรงเรียนประถมของเรา สิ่งเหล่านี้จำเป็นอย่างยิ่งหากคุณต้องการพัฒนาทักษะการวิเคราะห์ข้อมูลและสถิติของคุณ หากคุณเป็นมือใหม่และสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับวิทยาศาสตร์ข้อมูล ลองดูหลักสูตรวิทยาศาสตร์ข้อมูลของเราจากมหาวิทยาลัยชั้นนำ ซึ่งจะช่วยแก้ปัญหาตามคำชี้แจงด้านล่างนี้
สารละลาย
เรามีทั้งหมด 10 คัน
เราต้องหาความเป็นไปได้ของผู้ชนะ 3 คนจาก 10 คน
10! / (10-3)! = 10! / 7! = 720
ดังนั้นเราจึงมีความเป็นไปได้ทั้งหมด 720 คันสำหรับรถยนต์ 10 คันนี้จะเป็นที่หนึ่ง สอง และสามในการแข่งขัน
การใช้งาน Python
Python เป็นภาษาการเขียนโปรแกรมระดับสูง ตีความและใช้งานทั่วไป ซึ่งเน้นที่ความสามารถในการอ่านโค้ด และไวยากรณ์ที่ใช้ในภาษา Python ช่วยให้โปรแกรมเมอร์เขียนโค้ดให้เสร็จสิ้นด้วยขั้นตอนที่น้อยกว่าเมื่อเปรียบเทียบกับ Java หรือ C++ และสร้างขึ้นจากภาษา C
ภาษานี้ก่อตั้งขึ้นในปี 1991 โดยผู้พัฒนา Guido Van Rossum Python ถูกใช้กันอย่างแพร่หลายในองค์กรขนาดใหญ่ เนื่องจากส่วนใหญ่ในกรณีการใช้งานปัญญาประดิษฐ์ต่างๆ เช่น Computer Vision, Natural Language Processing , Deep Learning , Speech Recognition, Face Recognition, Voice Recognition
Python เป็นเครื่องมือการเขียนโปรแกรมที่ทรงพลังมาก และสามารถใช้ได้กับกรณีการใช้งานที่หลากหลายในชีวิตจริง มันมีฟังก์ชันโดยตรงที่สามารถคำนวณแฟกทอเรียลของตัวเลขที่กำหนดโดยไม่ต้องเขียนโค้ดอย่างชัดเจน แต่ขอให้เราเริ่มต้นด้วยวิธีการที่ไร้เดียงสาและในที่สุดก็มาทำความรู้จักกับฟังก์ชันนั้นเสียที
อ่านเพิ่มเติม: ทำไม Python ถึงได้รับความนิยมจากนักพัฒนา
สำหรับวง
เราสามารถคำนวณแฟกทอเรียลของตัวเลขได้โดยการวนซ้ำจากหมายเลข 1 ถึงจำนวนที่กำหนดโดยการคูณในแต่ละขั้นตอน ให้เราข้ามไปที่ส่วนการเข้ารหัสของแนวทางที่กล่าวถึงข้างต้น
รหัส
number = input (“Enter a Number:”) # ควรใช้ข้อความพิมพ์ใดๆ
แฟกทอเรียล = 1
if int (number) >=1: # เพื่อตรวจสอบว่าตัวเลขที่กำหนดเป็นบวกหรือไม่
สำหรับฉันอยู่ในช่วง (1, int(หมายเลข)+1): # วนจากหมายเลข 1
แฟกทอเรียล = แฟกทอเรียล * I # การคูณด้วยตัวเลขแต่ละตัว
พิมพ์ (“แฟกทอเรียลของ “, จำนวน, ” คือ: “, แฟกทอเรียล) # พิมพ์แฟกทอเรียลที่คำนวณได้
เอาท์พุต
การรันโค้ดด้านบนจะให้ผลลัพธ์ด้านล่าง:
ใส่ตัวเลข :5
แฟกทอเรียลของ 5 คือ: 120
ฟังก์ชันแบบเรียกซ้ำ
ในกรณีนี้ เราจะสร้างฟังก์ชันที่ผู้ใช้กำหนดเองใน python ที่จะช่วยเราคำนวณแฟกทอเรียลของตัวเลขที่กำหนด

รหัส
ตัวเลข = อินพุต (“ ป้อนตัวเลข: “)
def recursive_factorial(number): # ฟังก์ชันแบบเรียกซ้ำที่ผู้ใช้กำหนด
ถ้าจำนวน == 1: # เงื่อนไขถ้าจำนวนที่กำหนดเท่ากับ 1
ส่งคืนหมายเลข
elif number < 1: # เงื่อนไขถ้าจำนวนที่กำหนดน้อยกว่า 1
return (“จำนวนที่กำหนดน้อยกว่าหนึ่งและไม่สามารถคำนวณแฟกทอเรียลได้”)
อื่น:
ส่งคืนหมายเลข*recursive_factorial(หมายเลข – 1)
พิมพ์ (recursive_factorial(int(number)))
เอาท์พุต
การรันโค้ดด้านบนจะให้ผลลัพธ์ด้านล่าง:
ใส่ตัวเลข: 5
120
ใส่ตัวเลข: -2
จำนวนที่กำหนดน้อยกว่าหนึ่งและไม่สามารถคำนวณแฟกทอเรียลได้
ใส่ตัวเลข: 1
1
ฟังก์ชันแฟกทอเรียลในแพ็คเกจคณิตศาสตร์
Python เป็นที่รู้จักอย่างกว้างขวางในด้านความง่ายในการใช้งานและแพ็คเกจของบุคคลที่สามที่ใช้งานง่าย ซึ่งจะทำให้งานจำนวนมากง่ายขึ้น ในสถานการณ์ปัจจุบัน Python เป็นภาษาที่เข้าถึงได้สำหรับ Data Scientists
รหัส
นำเข้าคณิตศาสตร์ # แพ็คเกจที่จำเป็น
number= input(“ใส่ตัวเลข: “)
พิมพ์("แฟกทอเรียลของ ", จำนวน" คือ: ")
print(math.factorial(int(number))) # ฟังก์ชันคำนวณแฟกทอเรียล
เอาท์พุต
การรันโค้ดด้านบนจะให้ผลลัพธ์ด้านล่าง:
ใส่ตัวเลข: 5
แฟกทอเรียลของ 5 คือ:
120
ใส่ตัวเลข: 5.6
Traceback (การโทรล่าสุดล่าสุด):
แฟกทอเรียลของ 5.6 คือ:
ไฟล์ “C:/Users….py” บรรทัดที่ 5 ใน
พิมพ์(math.factorial(int(number)))
ValueError : ตัวอักษรที่ไม่ถูกต้องสำหรับ int() ที่มีฐาน 10: '5.6'
เราได้รับค่าผิดพลาดเนื่องจากเราไม่สามารถคำนวณแฟกทอเรียลของจำนวนเต็มทศนิยม เมื่อเราเขียนโค้ด python อย่างชัดเจน เราต้องคอยตรวจสอบเงื่อนไขทั้งหมดและส่งข้อความที่เกี่ยวข้อง แต่ในฟังก์ชัน factorial ของแพ็คเกจ Math ใน python มันทำทุกอย่างให้เรา ซึ่งช่วยให้เราลดโค้ดบรรทัดเมื่อเรามี การใช้ Factorial ในโครงการของเราหรือคำชี้แจงปัญหาใดๆ
ต้องอ่าน: บทช่วยสอน Python
บทสรุป
ในบทความนี้ เราได้รู้ถึงความสำคัญและการประยุกต์ใช้แฟกทอเรียลและแนวคิดทางคณิตศาสตร์ที่สำคัญอื่นๆ ในชีวิตจริง ผ่านโค้ดประเภทต่างๆ เพื่อคำนวณแฟกทอเรียลของตัวเลขที่กำหนด บทความนี้ครอบคลุมถึง Factorial ใน Python แต่มีการคำนวณทางคณิตศาสตร์อื่นๆ มากมายในแพ็คเกจ MATH ผู้ที่เพิ่งเริ่มใช้ Python ใหม่สามารถมองลึกลงไปถึงพวกเขาได้ และสามารถลองใช้สักสองสามอย่างได้
หากคุณอยากเรียนรู้เกี่ยวกับวิทยาศาสตร์ข้อมูล ลองดู โปรแกรม Executive PG ของ IIIT-B & upGrad ใน Data Science ซึ่งสร้างขึ้นสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 10 รายการ เวิร์กช็อปภาคปฏิบัติจริง การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม 1 -on-1 พร้อมที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ
การเรียกซ้ำใน Python คืออะไร?
การเรียกซ้ำใน Python หมายถึงการวนซ้ำข้อมูลเพื่อให้ได้ผลลัพธ์ที่แน่นอน เป็นกระบวนการทางคณิตศาสตร์และการเขียนโปรแกรมที่รู้จักกันดีซึ่งมีการกำหนดบางสิ่ง (คำสั่งหรือฟังก์ชัน) ในแง่ของตัวมันเอง ด้วยความช่วยเหลือของการเรียกซ้ำ ผู้ใช้หรือนักพัฒนาสามารถแบ่งรหัสที่ซับซ้อนและฟังก์ชันออกเป็นส่วนย่อยที่เล็กลง และการสร้างลำดับจะสามารถเข้าถึงได้มากขึ้น นักพัฒนาซอฟต์แวร์ควรระมัดระวังเป็นพิเศษเมื่อใช้การเรียกซ้ำ เนื่องจากการเขียนฟังก์ชันที่ไม่เคยยุติหรือใช้หน่วยความจำหรือ CPU ในปริมาณที่มากเกินไปนั้นค่อนข้างบ่อย เมื่อทำอย่างถูกต้อง การเรียกซ้ำอาจเป็นวิธีที่มีประสิทธิภาพอย่างมากและเป็นนวัตกรรมทางคณิตศาสตร์ในการเขียนโปรแกรม
การเรียนรู้พื้นฐานของ Python ใช้เวลานานเท่าใด
Python ถือเป็นภาษาการเขียนโปรแกรมที่ง่ายที่สุด ดังนั้นการเรียนรู้พื้นฐานของ Python จึงเป็นเรื่องง่ายและไม่ใช้เวลานานมาก นักเรียนหรือผู้เชี่ยวชาญสามารถใช้เวลา 1-2 เดือนในการเรียนรู้พื้นฐานของ Python ผู้เชี่ยวชาญยังสามารถเชี่ยวชาญฟังก์ชันและไลบรารีที่จำเป็นทั้งหมดภายใน 4-5 เดือนโดยใช้เวลา 2-3 ชั่วโมงทุกวัน Grasping Python เป็นเรื่องง่ายเนื่องจากโค้ดส่วนใหญ่มีคำสั่งน้อยกว่า และมีฟังก์ชันที่กำหนดไว้ล่วงหน้ามากกว่า
ความซับซ้อนของเวลาของโปรแกรมแฟกทอเรียลใน Python คืออะไร?
เราค้นพบจากโปรแกรมแฟกทอเรียลว่าแฟกทอเรียล (0) เป็นเพียงการเปรียบเทียบ (1 หน่วยของเวลา) และแฟกทอเรียล (n) คือการเปรียบเทียบหนึ่งครั้ง การคูณ 1 ครั้ง การลบหนึ่งครั้ง และเวลาสำหรับแฟกทอเรียล (n-1) ดังนั้นเราสามารถพูดได้ว่า T(n) = T(n — 1) + 3 และ T(0) = 1 เมื่อใส่ค่า เราพบว่า T(N) เป็นสัดส่วนโดยตรงกับ n ดังที่เห็นในสัญกรณ์ Big-Oh เป็นผลให้ความซับซ้อนชั่วคราวของโปรแกรมแฟกทอเรียลคือ O(n)
