Python Program do znajdowania silni liczby
⚡ Inteligentne podsumowanie
Silnia liczby w Python jest iloczynem każdej dodatniej liczby całkowitej do podanej liczby. Python oblicza go za pomocą pętli for, sprawdzenia if-else, rekurencji lub wbudowanej funkcji math.factorial().
Poniższe sekcje przedstawiają cztery sposoby obliczania silni w Python — pętla for, wersja if-else, rekurencja i math.factorial() — plus podstawowy algorytm i zastosowania.
Silnia liczby przy użyciu pętli for
Weźmy przykład Python Kod, który przyjmuje dodatnią liczbę całkowitą jako dane wejściowe w celu określenia silni dodatnich liczb całkowitych. W poniższym kodzie pętla rozpoczyna się od jedynki, a następnie mnoży przez każdą liczbę poprzedzającą liczbę, której silnia ma zostać ustalona.
Poniższy Python Kod 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żej Python Program przyjmuje na wejściu wyłącznie liczby dodatnie i nie sprawdza 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 program będzie wykonywał działanie, aż j osiągnie wartość 4, aż do 24.
Silnia liczby przy użyciu instrukcji IF…else
Poniższy Python Kod ilustruje funkcję silni za pomocą funkcji. W przeciwieństwie do wersji z pętlą, ten program sprawdza również obecność liczb ujemnych przed obliczeniem silni.
W poprzednim Python W kodzie nie zastosowano 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 rozpoczyna się od jeden i mnoży przez każdą poprzednią liczbę, a funkcja sprawdza również, czy dane wejściowe zawierają 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
Ten Python Program akceptuje liczby dodatnie i dodaje sprawdzenie liczb ujemnych za pomocą instrukcji if i else, prawidłowo zwracając wartość 24 przy wartości wejściowej 4.
Silnia liczby przy użyciu rekurencji
Poniższy Python Kod ilustruje funkcję silni za pomocą rekurencji. W tym przykładzie funkcja rekurencyjna, która przyjmuje dodatnią liczbę całkowitą jako dane wejściowe, wyznacza 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 Python Moduł może wywoływać sam siebie wielokrotnie. Działa do momentu, aż Python spełniony jest warunek obecny w module, przy czym do wywołanej funkcji przekazywana jest wartość.
W powyższym Python W programie funkcja def factorial wywołuje samą siebie 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ą math.factorial()
Poniższy Python Kod ilustruje funkcję silni za pomocą math.factorial(), której można użyć po zaimportowaniu modułu math.
Funkcja ta nie akceptuje ujemnych liczb całkowitych i zgłasza błąd wartości, gdy podane zostaną liczby zmiennoprzecinkowe.
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 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 także umożliwia szybsze i bardziej efektywne drukowanie silni niż w przypadku innych dostępnych języków programowania.
- Python kod jest łatwy do zrozumienia i można go powielać na różnych platformach, a silnia Python Program można włączyć do wielu zadań z zakresu budowy modeli matematycznych.


