Писане на факторната програма в Python

Writing Factorial Program Python



Факториалът на числото е числото, което получавате, след като умножите всички числа от 1 до това число. Факториалът на число се обозначава със символа „!“. Например, ако искаме да разберем факториала на 4, обозначен с 4!, Тогава резултатът ще бъде 1x2x3x4 = 24. Има много начини да разберем факториала на число. Факториалът може да бъде определен в Python с помощта на вградената функция за циклични и рекурсивни функции. Този урок показва как факториалът на число може да бъде определен с помощта на различни функции на Python.

Пример 1: Намерете факториала на число с помощта на вградената функция

Python има вградена функция на име факториал () под математика модул. Следният скрипт изчислява факториала на произволно число с помощта на вграден факториал () функция. В този скрипт всяко валидно цяло число ще бъде взето като вход и функцията ще изчисли факториалната стойност на това число и ще отпечата факторната стойност на входното число.







#!/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
заiв диапазон (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(вход('Въведете произволен номер:'))
# Определете рекурсивната функция за изчисляване на факториала
defфакториал_рекурсивен(н):
# Съхранявайте факториалния резултат от 0 и 1
акон== 0 илин== 1:
резултат= 1
# Съхранявайте входния номер за отрицателна стойност
elifн< 1:
резултат=н
# Намерете факториалния резултат по рекурсивен начин
иначе:
резултат=n*факториал_рекурсивен(н-1)
# Върнете резултата
връщанерезултат
# Извикайте функцията
факт=факториал_рекурсивен(номер)
# Отпечатайте резултата за положително число
акофакт> = 0:
печат('Факторът на %d е %d.'%(номер,факт))
иначе:
# Отпечатайте съобщението за отрицателно число
печат(„Трябва да въведете всяко положително число“)

Изход

На следващата екранна снимка скриптът се изпълнява три пъти със стойностите 1, -5 и 8.

Пример 4: Намерете факториала на число с обработка на изключения

Горните три скрипта проверяват само дали числото е положително или отрицателно. Следният скрипт изчислява факториала чрез вградена функция factorial () с обработка на изключения. Ако потребителят въведе въвеждане без цяло число, тогава ще се генерира изключение и ще се отпечата съобщение за грешка.

#!/usr/bin/env python3
# Импортиране на математически модул
внос математика
# Определете блока за опит
опитвам:
# Вземете числова стойност
н= int(вход('Въведете произволен номер:'))
акон> = 0:
# Разберете факториала
факт= математика.факториал(н)
# Отпечатайте резултата от факториала
печат(„Факторът на %d е %d“%(н,факт))
иначе:
# Повишете изключение, ако числото е отрицателно
повишаване Изключение(„Трябва да въведете всяко положително число“)
# отпечатайте съобщението за грешка за дробно въвеждане
с изключение ValueError:
печат('Трябва да въведете цяло число')
# Отпечатайте съобщение за грешка за отрицателен вход
с изключение Изключение катоИ:
печат(„Грешка:%s“)

Изход

Скриптът се изпълнява три пъти със стойностите h, -3 и 7 на следващата екранна снимка. Тук изключението се генерира за стойността „h“.

Заключение

Този урок показва някои от различните начини, по които можете да изчислите факториалната стойност на число в Python. Концепцията за факториал на число и базирани на Python методи за изчисляване на факториала трябва да бъдат ясни за читателя, след като прочете този урок.