Python

Писане на Factorial Program в Python

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

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

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

#!/ usr / bin / env python3
# Импортиране на математически модул
внос математика
# Вземете произволни числови стойности
n = int (вход ("Въведете произволно число:"))
# Разберете факториала
факт = математика.факториал (n)
# Отпечатайте резултата от факториала
print ("Факториалът на% d е% d"% (n, факт))

Изход

След стартиране на скрипта, 3 се дава като входен номер, а изходът на 3!, 6, се отпечатва.

Пример 2: Намерете факториал на число с помощта на цикъла

Следващият скрипт показва как можете да изчислите факториал на произволно число, без да използвате вградена функция в Python. Ето, за цикъл се използва за изчисляване на факториал на число. Всяка въведена целочислена стойност ще бъде взета и съхранена като име на променлива н. Променлива с име факт се използва за съхраняване на факториалния резултат и се инициализира до 1 преди да влезе в цикъла. Ако стойността на н е повече от едно или равно на едно, тогава цикълът ще се повтори за 1 до n + 1 пъти и ще изчисли факториалната стойност. В противен случай цикълът ще провери дали стойността на n е равна на 0 или отрицателна. Ако стойността на n е 0, тогава факториалният резултат ще бъде 1; и ако стойността на n е отрицателно цяло число, ще се отпечата съобщение за грешка.

#!/ usr / bin / env python3
 
# Вземете числова стойност и съхранявайте в n
n = int (вход ("Въведете произволно число:"))
# Инициализирайте променливата
факт = 1
# Разберете факториала, ако входното число е повече от 0
ако n> = 1:
# Итерирайте цикъла, за да умножите числата в рамките на 1 до n
за i в обхват (1, n + 1):
факт = факт * i
# Отпечатайте резултата от fcatorial
print ("Факториалът на% d е% d."% (n, факт))
друго:
ако n == 0:
# Отпечатайте резултата от 0!
print ("Факториал на", n, "is")
друго:
# Отпечатайте съобщението за грешка
print ("Трябва да въведете произволно положително число")

Изход

Скриптът се изпълнява три пъти, съгласно следващата екранна снимка. Скриптът се изпълнява за входните стойности 1, 6 и -8. Изходите са показани според входните стойности.

Пример 3: Намерете факториал на число, използвайки рекурсивната функция

Функцията, която се извиква по време на изпълнение на функцията, се нарича рекурсивна функция. Следващият скрипт показва начина за изчисляване на факториал на всяко цяло число с помощта на рекурсивна функция. След като вземе цялото число като вход, рекурсивната функция factorial_resursive () ще се извика, като входната стойност като аргумент. Ако входната стойност е 0 или 1, тогава 1 ще бъде върната. Ако входната стойност е отрицателна, тогава стойността на аргумента ще бъде върната. Ако входната стойност е повече от 1, тогава функцията ще се извика чрез изваждане на аргумента от 1 отново и отново, докато изчисли резултата от факториала.

#!/ usr / bin / env python3
# Вземете цифрова стойност
число = int (въвеждане ("Въведете произволно число:"))
# Дефинирайте рекурсивната функция за изчисляване на факториал
def factorial_recursive (n):
# Съхранявайте факториалния резултат от 0 и 1
ако n == 0 или n == 1:
резултат = 1
# Съхранявайте входния номер за отрицателна стойност
elif n < 1:
резултат = n
# Намерете факториалния резултат по рекурсивен начин
друго:
резултат = n * факториална_рекурсивна (n-1)
# Върнете резултата
връщане на резултата
# Извикайте функцията
факт = факториална_рекурсивна (число)
# Отпечатайте резултата за положително число
ако факт> = 0:
print ("Факториалът на% d е% d."% (число, факт))
друго:
# Отпечатайте съобщението за отрицателно число
print ("Трябва да въведете произволно положително число")

Изход

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

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

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

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

Изход

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

Заключение

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

Най-добрите дистрибуции на Linux за игри през 2021 г
Операционната система Linux е изминала дълъг път от първоначалния си, прост, базиран на сървъра външен вид. Тази операционна система се подобри неимов...
Как да заснемете и поточно предадете игралната си сесия на Linux
В миналото играта на игри се смяташе само за хоби, но с течение на времето игралната индустрия отбеляза огромен ръст по отношение на технологиите и бр...
Най-добрите игри за игра с ръчно проследяване
Oculus Quest наскоро представи страхотната идея за ръчно проследяване без контролери. С непрекъснато нарастващия брой игри и дейности, които изпълнява...