Питхон

Писање факторског програма на Питхон-у

Писање факторског програма на Питхон-у
Факторијал броја је број који добијете множењем свих бројева са 1 на тај број. Факторијал броја означава се са '!'симбол. На пример, ако желимо да сазнамо факторијел 4, означен са 4!, онда би резултат био 1к2к3к4 = 24. Постоји много начина да се сазна факторијел броја. Факторијал се може одредити у Питхону помоћу уграђене функције за петље и рекурзивне функције. Овај водич показује како се факторијел броја може одредити помоћу различитих функција Питхона.

Пример 1: Пронађите факторијел броја помоћу уграђене функције

Питхон има уграђену функцију названу факторијел () под математика модул. Следећа скрипта израчунава факторијел било ког броја помоћу уграђеног факторијел () функцију. У овој скрипти, било који важећи целобројни број ће се узети као улаз, а функција ће израчунати факторску вредност тог броја и исписати факторску вредност улазног броја.

#!/ уср / бин / енв питхон3
# Увези математички модул
импорт матх
# Узмите било које бројевне вредности
н = инт (инпут ("Унесите било који број:"))
# Сазнајте факторијел
чињеница = математика.факторијел (н)
# Одштампајте резултат фактора
принт ("Факторијал% д је% д"% (н, чињеница))

Оутпут

Након покретања скрипте, 3 се даје као улазни број, а као излаз 3!, 6, је одштампан.

Пример 2: Пронађите факторијел броја помоћу петље

Следећа скрипта показује како можете израчунати факторијел било ког броја без употребе уграђене функције у Питхону. Ево, за петља се користи за израчунавање факторијела броја. Све улазне целобројне вредности узимаће се и чувати као именована променљива н. Променљива променљива чињеница користи се за чување фактора резултата и иницијализује се на 1 пре уласка у петљу. Ако је вредност од н је више од једног или једнако јединици, тада ће се петља поновити 1 до н + 1 пута и израчунаће факторијелну вредност. У супротном, петља ће проверити да ли је вредност н једнака 0 или негативна. Ако је вредност н 0, тада ће фактористички резултат бити 1; а ако је вредност н негативан цео број, тада ће се исписати порука о грешци.

#!/ уср / бин / енв питхон3
 
# Узмите нумеричку вредност и сачувајте у н
н = инт (инпут ("Унесите било који број:"))
# Иницијализујте променљиву
чињеница = 1
# Сазнајте факторијел ако је улазни број већи од 0
ако је н> = 1:
# Понављајте петљу да бисте помножили бројеве унутар 1 до н
за и у опсегу (1, н + 1):
чињеница = чињеница * и
# Одштампајте резултат фкаторијала
принт ("Факторијал% д је% д."% (н, чињеница))
иначе:
ако је н == 0:
# Одштампајте резултат 0!
принт ("Факторијал за", н, "је")
иначе:
# Одштампајте поруку о грешци
принт ("Морате унети било који позитиван број")

Оутпут

Скрипта се извршава три пута, према следећем снимку екрана. Скрипта се извршава за улазне вредности 1, 6 и -8. Излази су приказани према улазним вредностима.

Пример 3: Пронађите факторијел броја помоћу рекурзивне функције

Функција која се позива током извршавања функције назива се рекурзивна функција. Следећа скрипта показује начин израчунавања фактора било ког целобројног броја помоћу рекурзивне функције. Након узимања целобројног броја за улаз, рекурзивна функција фацториал_ресурсиве () позваће се, а улазна вредност као аргумент. Ако је улазна вредност 0 или 1, вратиће се 1. Ако је улазна вредност негативна, тада ће се вратити вредност аргумента. Ако је улазна вредност већа од 1, тада ће се функција позвати одузимањем аргумента од 1 и изнова, све док не израчуна резултат фактора.

#!/ уср / бин / енв питхон3
# Узмите нумеричку вредност
нумбер = инт (инпут ("Унесите било који број:"))
# Дефинишите рекурзивну функцију за израчунавање фактора
деф фацториал_рецурсиве (н):
# Чувајте факторијелни резултат 0 и 1
ако је н == 0 или н == 1:
резултат = 1
# Спремите улазни број за негативну вредност
елиф н < 1:
резултат = н
# Рекурзивно пронађите факторијелни резултат
иначе:
резултат = н * факторијелни_рекурзив (н-1)
# Врати резултат
повратни резултат
# Позовите функцију
чињеница = факторски_рекурзиван (број)
# Испис резултата за позитиван број
ако је чињеница> = 0:
принт ("Факторијал% д је% д."% (број, чињеница))
иначе:
# Одштампајте поруку за негативни број
принт ("Морате унети било који позитиван број")

Оутпут

На следећем снимку екрана скрипта се извршава три пута са вредностима 1, -5 и 8.

Пример 4: Пронађите факторијел броја са руковањем изузетком

Горе наведена три скрипта само проверавају да ли је број позитиван или негативан. Следећа скрипта израчунава факторијел путем уграђене функције факторијел () са руковањем изузецима. Ако корисник да било који унос без целобројне вредности, тада ће се генерисати изузетак и исписат ће се порука о грешци.

#!/ уср / бин / енв питхон3
# Увези математички модул
импорт матх
# Пркосите блоку три
покушати:
# Узмите нумеричку вредност
н = инт (инпут ("Унесите било који број:"))
ако је н> = 0:
# Сазнајте факторијел
чињеница = математика.факторијел (н)
# Одштампајте резултат фактора
принт ("Факторијал% д је% д"% (н, чињеница))
иначе:
# Повећајте изузетак ако је број негативан
подићи изузетак („Морате унети било који позитиван број“)
# исписати поруку о грешци за делимични унос
осим ВалуеЕррор:
принт ("Морате унети целобројни број")
# Штампање поруке о грешци за негативан унос
осим изузетка као е:
принт ('Грешка:% с'% е)

Оутпут

Скрипта се извршава три пута са вредностима х, -3 и 7 на следећем снимку екрана. Овде се изузетак генерише за вредност, 'х.'

Закључак

Ово упутство приказује неке од различитих начина на које можете израчунати факторску вредност броја у Питхону. Концепт факторијела броја и методе засноване на Питхону за израчунавање факторијела треба да буду јасне читаоцу након читања овог водича.

Водич за сенку Томб Раидера за Линук
Схадов оф тхе Томб Раидер је дванаести додатак серији Томб Раидер - акцијско-авантуристичкој игри коју је створио Еидос Монтреал. И критичари и фанови...
Како појачати ФПС у Линуку?
ФПС је скраћеница за Фрејмова у секунди. Задатак ФПС-а је да мери брзину кадрова у репродукцијама видео записа или играчким перформансама. Једноставни...
Најпопуларније лабораторијске игре Оцулус Апп
Ако сте власник Оцулус слушалица, онда морате бити упознати са бочним учитавањем. Бочно учитавање је поступак инсталирања не-продавничког садржаја на ...