Python Program do znajdowania silni liczby

Silnia liczby przy uลผyciu pฤ™tli for

Weลบmy przykล‚ad kodu Pythona, ktรณry przyjmuje dodatniฤ… liczbฤ™ caล‚kowitฤ… jako dane wejล›ciowe, aby okreล›liฤ‡ silniฤ™ dodatnich liczb caล‚kowitych. W poniลผszym kodzie pฤ™tla zaczyna siฤ™ od jedynki, a nastฤ™pnie mnoลผy przez kaลผdฤ… liczbฤ™ poprzedzajฤ…cฤ… rzeczywistฤ… liczbฤ™, ktรณrej silnia ma zostaฤ‡ okreล›lona.

Poniลผszy kod Pythona ilustruje funkcjฤ™ silni za pomocฤ… pฤ™tli.

Python kod:

print ("Input a number")
factorialIP = int (input ())
ffactor23 = 1
for j in range (1, factorialIP+1):
   ffactor23 = ffactor23 * j
print ("The factorial of the number is โ€œ, ffactor23)

Wyjล›cie:

Input a number
4
The factorial of the number is 24

Powyลผszy program python przyjmuje tylko dodatnie liczby wejล›ciowe i nie ma w nim sprawdzania liczb ujemnych. W tym programie wspรณล‚czynnik wynosi 1, gdy j jest rรณwne 1. Gdy j wynosi 2, wspรณล‚czynnik jest mnoลผony przez 2 i bฤ™dzie wykonywaล‚ dziaล‚anie, dopรณki j nie osiฤ…gnie 4, aby osiฤ…gnฤ…ฤ‡ 24.

Silnia liczby przy uลผyciu instrukcji IFโ€ฆelse

Poniลผszy kod Pythona ilustruje funkcjฤ™ silni za pomocฤ… funkcji. Zajmijmy siฤ™ nastฤ™pujฤ…cym kodem Pythona, ktรณry przyjmuje dodatnie liczby caล‚kowite jako dane wejล›ciowe, aby okreล›liฤ‡ silniฤ™ dodatnich liczb caล‚kowitych.

W poprzednim kodzie Pythona nie stosowano sprawdzania liczb ujemnych, przez co funkcja silni byล‚a niekompletna i podatna na wyล›wietlenie komunikatu o bล‚ฤ™dzie, jeล›li jako dane wejล›ciowe podano liczby ujemne.

W podanym kodzie pฤ™tla zaczyna siฤ™ od jeden, a nastฤ™pnie mnoลผy przez kaลผdฤ… liczbฤ™ poprzedzajฤ…cฤ… liczbฤ™, ktรณrej silnia ma zostaฤ‡ ustalona, โ€‹โ€‹a takลผe sprawdza, czy wystฤ™pujฤ… liczby ujemne.

Python kod:

print("Enter a number for the purpose of determining factorial")
factorialIP = int(input())
def factorial(factorialIP):
   if factorialIP < 0:
     print ('Factorial does not exist')
     factor=0
     return factor
   elif factorialIP == 0:
     factor=1
     return factor
     print(factor)
   else:
     factor = 1
     for j in range (1, factorialIP+1):
       factor = factor * j
     return factor
  print ("The factorial of the number is ", factorial(factorialIP))

Wyjล›cie:

1) Enter a number to determine factorial
   -4
   Factorial does not exist
   The factorial of the number is 0

2) Enter a number to determine factorial
   4
   Factorial does not exist
   The factorial of the number is 24

Powyลผej program w Pythonie do znajdowania silni liczby przyjmuje tylko dodatnie liczby wejล›ciowe i sprawdza liczby ujemne za pomocฤ… instrukcji if i else jฤ™zyka python. W tym programie wspรณล‚czynnik wynosi 1, gdy j jest rรณwne 1. Gdy j wynosi 2, wspรณล‚czynnik jest mnoลผony przez 2 i bฤ™dzie wykonywaล‚ dziaล‚anie, dopรณki j nie osiฤ…gnie 4, aby osiฤ…gnฤ…ฤ‡ 24.

Silnia liczby przy uลผyciu rekurencji

Poniลผszy kod Pythona ilustruje funkcjฤ™ silni za pomocฤ… rekurencji. Zajmijmy siฤ™ nastฤ™pujฤ…cym kodem Pythona, ktรณry przyjmuje dodatnie liczby caล‚kowite jako dane wejล›ciowe, aby okreล›liฤ‡ silniฤ™ dodatnich liczb caล‚kowitych. W tym przykล‚adzie funkcja rekurencyjna okreล›la liczbฤ™ silni.

Python kod:

print("Enter a number for the purpose of determining factorial")
def factorial(num2):
  if num2 < 0:
    return 'Factorial does not exist'
  elif num2 == 0:
     return 1
  else:
     return num2 * factorial(num2-1)
number1 = int(input())
print("The factorial of the number is",factorial(number1))

Wyjล›cie: -

Enter a number for the purpose of determining factorial
4
The factorial of the number is 24

Rekursjฤ™ moลผna wyjaล›niฤ‡ jako koncepcjฤ™, w ktรณrej funkcja wywoล‚ywana w module Pythona moลผe wywoล‚ywaฤ‡ siฤ™ wielokrotnie. Dziaล‚a do momentu speล‚nienia warunku Pythona obecnego w module Pythona, podczas ktรณrego wywoล‚ywana funkcja jest przekazywana z wartoล›ciฤ….

W powyลผszym programie Pythona funkcja number def silnia wywoล‚uje siฤ™ rekurencyjnie, dopรณki liczba nie osiฤ…gnie zera. Gdy liczba osiฤ…gnie zero, inicjuje jฤ… jako 1, koล„czฤ…c rekurencjฤ™.

Silnia liczby za pomocฤ… matematyki. silnia()

Poniลผszy kod w jฤ™zyku Python ilustruje funkcjฤ™ silni za pomocฤ… metody math.factorial(), ktรณrฤ… moลผna wykorzystaฤ‡ po zaimportowaniu moduล‚u math.

Ta funkcja nie akceptuje ujemnych liczb caล‚kowitych i generuje komunikat o bล‚ฤ™dzie value error, gdy podane sฤ… liczby float. Zajmijmy siฤ™ nastฤ™pujฤ…cym kodem Pythona, ktรณry przyjmuje dodatnie liczby caล‚kowite jako dane wejล›ciowe, aby okreล›liฤ‡ silniฤ™ dodatnich liczb caล‚kowitych.

Python kod:

print("Enter a number for computing factorial")
import math
number1 = int(input())
print("The factorial is as computed comes out to be ")
print(math.factorial(number1))

Wyjล›cie: -

Enter a number for computing factorial
4
The factorial, as computed, comes out to be 24

Algorytm programu silniowego w Python

Weลบmy przykล‚ad ilustrujฤ…cy koncepcjฤ™ silni.

Aby wyznaczyฤ‡ silniฤ™ 5, wykonaj nastฤ™pujฤ…ce kroki: โ€“

5! = 5 x (5-1) x (5-2) x (5-3) x (5-4)
5! =120

Tutaj, 5! wyraลผa siฤ™ jako 120.

Poniลผszy diagram pomaga zrozumieฤ‡ algorytm obliczania silni. W tym przypadku weลบmiemy przykล‚ad silni 4!

Algorytm programu silniowego
Algorytm z obrazowym przykล‚adem silni 4!

Zastosowanie silni w Python

Silnia liczby ma szerokie zastosowanie w matematyce. Oto waลผne zastosowania Python:

  • Python pomaga w obliczeniach, a nastฤ™pnie drukuje silniฤ™ w sposรณb szybszy i wydajniejszy niลผ inne dostฤ™pne jฤ™zyki programowania.
  • Kod Pythona jest ล‚atwo zrozumiaล‚y i moลผna go replikowaฤ‡ na rรณลผnych platformach, a silniowy program Pythona moลผna wล‚ฤ…czyฤ‡ do kilku zadaล„ zwiฤ…zanych z budowaniem modelu matematycznego.

Podsumowanie

  • Silniฤ™ liczby moลผna opisaฤ‡ jako iloczyn lub mnoลผenie wszystkich dodatnich liczb caล‚kowitych rรณwnych lub mniejszych od liczby, dla ktรณrej wyznaczany jest iloczyn lub silnia.
  • Silniฤ™ liczby w Pythonie moลผna wykonaฤ‡ na trzy sposoby.
    1. Obliczenia silni przy uลผyciu pฤ™tli For
    2. Obliczenia silni z wykorzystaniem rekurencji.
    3. Uลผycie funkcji zdefiniowanej przez uลผytkownika
  • Silniฤ™ liczby wyznacza siฤ™ dla nieujemnej liczby caล‚kowitej, a wyniki sฤ… zawsze dodatnimi liczbami caล‚kowitymi.
  • Wyjฤ…tkiem od reguล‚y silnia zerowa jest rรณwna 1.
  • Silnia liczby ma szerokie zastosowanie w matematyce.

Poznaj nasz kolejny samouczek na temat Zamieล„ dwie liczby bez uลผycia trzeciej zmiennej

Podsumuj ten post nastฤ™pujฤ…co: