כתיבת תוכנית פקטוריאלית בפייתון

Writing Factorial Program Python



הפקטוריאל של מספר הוא המספר שאתה מקבל לאחר הכפלת כל המספרים מ -1 למספר זה. הפקטוריאל של מספר מסומן על ידי סמל '!'. לדוגמה, אם ברצוננו לברר את הפקטוריאל של 4, המסומן 4 !, התוצאה תהיה 1x2x3x4 = 24. ישנן דרכים רבות לברר את הפקטוריאל של מספר. ניתן לקבוע את הפקטוריאל ב- Python באמצעות הפונקציה המובנית עבור לולאות ופונקציות רקורסיביות. הדרכה זו מראה כיצד ניתן לקבוע את הפקטוריאל של מספר באמצעות פונקציות שונות של פייתון.

דוגמה 1: מצא את הפקטוריאל של מספר באמצעות הפונקציה המובנית

לפייתון יש פונקציה מובנית בשם פקטוריאלי () תחת מתמטיקה מודול. התסריט הבא מחשב את המפעל של כל מספר באמצעות מובנה פקטוריאלי () פוּנקצִיָה. בתסריט זה, כל מספר שלם תקף ייחשב כקלט, והפונקציה תחשב את הערך הפקטוריאלי של מספר זה ותדפיס את הערך הפקטוריאלי של מספר הקלט.







#!/usr/bin/env python3
# ייבוא ​​מודול מתמטיקה
יְבוּא מתמטיקה
# קח ערכי מספר כלשהם
נ= int(קֶלֶט('הזן מספר כלשהו:'))
# גלה את המפעל
עוּבדָה= מתמטיקה.פקטוריאלי(נ)
# הדפס את תוצאת המפעל
הדפס('המפעל של %d הוא %d'%(נ,עוּבדָה))

תְפוּקָה



לאחר הפעלת התסריט, 3 ניתן כמספר קלט והפלט של 3 !, 6 מודפס.







דוגמה 2: מצא את הפקטוריאל של מספר באמצעות הלולאה

התסריט הבא מראה כיצד ניתן לחשב את הפקטוריאל של כל מספר ללא שימוש בפונקציה מובנית ב- Python. הנה ה ל לולאה משמשת לחישוב הפקטוריאלי של מספר. כל ערך שלם קלט ייקח ויאוחסן כמשתנה בשם נ . משתנה בשם עוּבדָה משמש לאחסון התוצאה הפקטוריאלית ומאתחל ל -1 לפני הכניסה ללולאה. אם הערך של נ הוא יותר מאחד או שווה לאחד, אז הלולאה תחזור על 1 עד n+1 פעמים ותחשב את ערך הפקטוריאלי. אחרת הלולאה תבדוק אם הערך n שווה ל- 0 או שלילי. אם הערך של n הוא 0, אז התוצאה הפקטוריאלית תהיה 1; ואם הערך של n הוא מספר שלם שלילי, הודעת שגיאה תודפס.

#!/usr/bin/env python3

# קח ערך מספרי ושמור ב- n
נ= int(קֶלֶט('הזן מספר כלשהו:'))
# אתחל את המשתנה
עוּבדָה= 1
# גלה את המפעל אם מספר הקלט הוא יותר מ -0
אםנ> = 1:
# חזור הלולאה למספר מספרים בתוך 1 עד n
לאניב טווח (1,n+1):
עוּבדָה=עובדה * i
# הדפס את התוצאה fcatorial
הדפס('המפעל של %d הוא %d.'%(נ,עוּבדָה))
אַחֵר:
אםנ== 0:
# הדפס את התוצאה של 0!
הדפס('המפעל של',נ, 'הוא')
אַחֵר:
# הדפס את הודעת השגיאה
הדפס('עליך להזין מספר חיובי כלשהו')

תְפוּקָה



התסריט מבוצע שלוש פעמים, על פי צילום המסך הבא. התסריט מבוצע עבור ערכי הקלט 1, 6 ו- -8. הפלט מוצג בהתאם לערכי הקלט.

דוגמה 3: מצא את הפקטוריאל של מספר באמצעות הפונקציה הרקורסיבית

הפונקציה שקוראת לעצמה במהלך ביצוע הפונקציה נקראת הפונקציה רקורסיבית. התסריט הבא מציג את הדרך לחישוב הפקטוריאלי של כל מספר שלם באמצעות פונקציה רקורסיבית. לאחר לקיחת המספר השלם כקלט, הפונקציה הרקורסיבית factorial_resursive () ייקרא, עם ערך הקלט כארגומנט. אם ערך הקלט הוא 0 או 1, אז 1 יוחזר. אם ערך הקלט שלילי, ערך הארגומנט יוחזר. אם ערך הקלט הוא יותר מ -1, אז הפונקציה תקרא לעצמה על ידי חיסור הארגומנט ב -1 שוב ושוב עד שהיא מחשבת את תוצאת הפקטוריאל.

#!/usr/bin/env python3
# קח ערך מספרי
מספר= int(קֶלֶט('הזן מספר כלשהו:'))
# הגדר את הפונקציה הרקורסיבית לחישוב הפקטוריאלי
deffactorial_recursive(נ):
# שמור את התוצאה הפקטוריאלית של 0 ו -1
אםנ== 0 אוֹנ== 1:
תוֹצָאָה= 1
# שמור את מספר הקלט עבור ערך שלילי
אליףנ< 1:
תוֹצָאָה=נ
# מצא את התוצאה הפקטוריאלית בדרך רקורסיבית
אַחֵר:
תוֹצָאָה=n*factorial_recursive(n-1)
# החזר את התוצאה
לַחֲזוֹרתוֹצָאָה
# התקשר לפונקציה
עוּבדָה=factorial_recursive(מספר)
# הדפס את התוצאה עבור מספר חיובי
אםעוּבדָה> = 0:
הדפס('המפעל של %d הוא %d.'%(מספר,עוּבדָה))
אַחֵר:
# הדפס את ההודעה עבור מספר שלילי
הדפס('עליך להזין מספר חיובי כלשהו')

תְפוּקָה

בצילום המסך הבא, הסקריפט מבוצע שלוש פעמים עם הערכים 1, -5 ו- 8.

דוגמה 4: מצא את המפעל של מספר עם טיפול חריג

שלושת הסקריפטים שלעיל בודקים רק אם המספר חיובי או שלילי. הסקריפט הבא מחשב את הפקטוריאל באמצעות פונקציה מובנית () עם טיפול חריג. אם המשתמש נותן קלט כלשהו ללא ערך שלם, יוצר חריג ויודפסת הודעת שגיאה.

#!/usr/bin/env python3
# ייבוא ​​מודול מתמטיקה
יְבוּא מתמטיקה
# התריס על בלוק הניסיון
לְנַסוֹת:
# קח ערך מספרי
נ= int(קֶלֶט('הזן מספר כלשהו:'))
אםנ> = 0:
# גלה את המפעל
עוּבדָה= מתמטיקה.פקטוריאלי(נ)
# הדפס את תוצאת המפעל
הדפס('המפעל של %d הוא %d'%(נ,עוּבדָה))
אַחֵר:
# הגדל חריג אם המספר שלילי
הַעֲלָאָה יוצא מן הכלל('עליך להזין מספר חיובי כלשהו')
# הדפס את הודעת השגיאה עבור קלט שברירי
מלבד ValueError:
הדפס('עליך להזין מספר שלם')
# הודעת שגיאת הדפסה עבור קלט שלילי
מלבד יוצא מן הכלל כפי שוגם:
הדפס('שגיאה:%s'%וגם)

תְפוּקָה

התסריט מבוצע שלוש פעמים עם הערכים h, -3 ו- 7 בצילום המסך הבא. כאן נוצר החריג לערך 'ח'.

סיכום

הדרכה זו מציגה כמה מהדרכים השונות שבהן ניתן לחשב את הערך הפקטוריאלי של מספר ב- Python. הרעיון של פקטוריאל של מספר ושיטות מבוססות פייתון לחישוב הפקטוריאל צריך להיות ברור לקורא לאחר קריאת הדרכה זו.