Jak znaleźć silnię w Pythonie [z przykładami kodowania]
Opublikowany: 2020-11-30Spis treści
Wstęp
Każdy z nas musi znać słowo silnia, ponieważ wszyscy zapoznaliśmy się z nim w naszej szkole podstawowej na przedmiocie Matematyka. Silnia to iloczyn wszystkich dodatnich liczb całkowitych od jednego do podanej liczby. Silnia jest obliczana tylko dla wartości dodatnich i nie można jej obliczyć dla typów Negative i Float.
Zastanawiałem się, kiedy uczę się pojęć czynnikowych i innych pojęć matematycznych, gdzie będę ich używać w moim prawdziwym życiu, dzięki Data Science, ponieważ mogłem teraz zrozumieć znaczenie wszystkich elementów matematycznych, takich jak algebra liniowa, prawdopodobieństwo, statystyka.
Zobaczmy, jak ważna jest silnia, różne sposoby obliczania jej za pomocą Pythona w tym artykule.
Znaczenie
Weźmy przykład, że mamy wyścig między 10 samochodami w światowym wydarzeniu wyścigowym i mamy opis problemu, aby dowiedzieć się, na ile sposobów te 10 samochodów zajmuje pierwsze, drugie, trzecie miejsce. Ponieważ samochodów jest tylko 10, chcielibyśmy po prostu wziąć kartkę i zapisać różne kombinacje. Ale co, jeśli mamy 100 samochodów lub więcej wydarzeń i mamy w nich ten sam lub podobny problem?
Aby poradzić sobie z tego rodzaju sytuacjami, mamy coś, co nazywa się Permutacją . Myślę, że znalibyście ten termin jako permutacje i kombinacje w naszej szkole podstawowej. Są one bardzo potrzebne, jeśli chcesz osiągnąć lepsze wyniki w zakresie analizy danych i statystyki. Jeśli jesteś początkującym i chcesz dowiedzieć się więcej na temat nauki o danych, sprawdź nasze kursy nauki o danych prowadzone przez najlepsze uniwersytety. Pomaga to rozwiązać opis problemu, jak podano poniżej.
Rozwiązanie
Łącznie posiadamy 10 samochodów.
Musimy znaleźć możliwość 3 zwycięzców z 10.
10! / (10-3)! = 10! / 7! = 720
Mamy więc w sumie 720 możliwości, aby te 10 samochodów zajęło pierwsze, drugie, trzecie miejsce w wyścigu.
Implementacja Pythona
Python to język programowania wysokiego poziomu, interpretowany i ogólnego przeznaczenia, który koncentruje się na czytelności kodu, a składnia używana w języku Python pomaga programistom w ukończeniu kodowania w mniejszej liczbie kroków w porównaniu z Javą lub C++ i jest zbudowana na C.
Język został założony w 1991 roku przez dewelopera Guido Van Rossum . Python jest szeroko stosowany w większych organizacjach, ponieważ głównie w różnych przypadkach użycia sztucznej inteligencji, takich jak widzenie komputerowe, przetwarzanie języka naturalnego, głębokie uczenie, rozpoznawanie mowy, rozpoznawanie twarzy, rozpoznawanie głosu.
Python jest bardzo potężnym narzędziem programistycznym i może być używany w wielu różnych przypadkach użycia w prawdziwym życiu. Oferuje bezpośrednią funkcję, która może obliczyć silnię danej liczby bez jawnego pisania kodu. Ale zacznijmy od naiwnego podejścia i poznajmy wreszcie tę funkcję.
Przeczytaj także: Dlaczego Python jest tak popularny wśród programistów?
Dla pętli
Możemy obliczyć silnię liczby, iterując od liczby 1 do podanej liczby, mnożąc na każdym kroku. Przejdźmy teraz do części kodowania omówionego powyżej podejścia.
Kod
number = input („Wprowadź numer:”) # Idealnie możesz użyć dowolnej wiadomości drukowanej
silnia = 1
if int (liczba) >=1: # Aby sprawdzić, czy podana liczba jest dodatnia, czy nie.
dla i w zakresie (1, int(number)+1): # Pętla od liczby 1
silnia = silnia * I # Mnożenie przez każdą liczbę.
print („Siła z „, liczba, ” to: „, silnia) # Wydrukuj obliczoną silnię.
Wyjście
Uruchomienie powyższego kodu da ci następujące dane wyjściowe:
Wpisz numer :5
Silnia 5 to: 120
Funkcja rekurencyjna
W tym przypadku stworzymy w Pythonie własną, zdefiniowaną przez użytkownika funkcję, która pomoże nam obliczyć silnię danej liczby.

Kod
liczba = wejście („Wprowadź liczbę:”)
def recursive_factorial(number): # Funkcja rekurencyjna zdefiniowana przez użytkownika.
if number == 1: # Warunek, jeśli podana liczba jest równa 1
numer zwrotny
elif number < 1: # Warunek, jeśli podana liczba jest mniejsza niż 1
return („Podana liczba jest mniejsza niż jeden i nie można obliczyć silni”).
w przeciwnym razie:
zwracana liczba*rekursywna_czynnikowa(liczba – 1)
print (recursive_factorial(int(number)))
Wyjście
Uruchomienie powyższego kodu da ci następujące dane wyjściowe:
Wpisz liczbę: 5
120
Wpisz liczbę: -2
Podana liczba jest mniejsza niż jeden i nie można obliczyć silni
Wpisz liczbę: 1
1
Funkcja silnia w pakiecie matematycznym
Python jest szeroko znany z łatwości użycia i przyjaznych dla użytkownika pakietów stron trzecich, które uproszczą wiele zadań. W obecnym scenariuszu Python jest głównym językiem dla naukowców zajmujących się danymi.
Kod
importuj matematykę # Wymagany pakiet
number= input("Wprowadź liczbę:")
print("Silnia z ", liczba, " to : ")
print(math.factorial(int(number))) # Funkcja obliczania silni
Wyjście
Uruchomienie powyższego kodu da ci następujące dane wyjściowe:
Wpisz liczbę: 5
Silnia 5 to :
120
Wpisz liczbę: 5,6
Traceback (ostatnie ostatnie połączenie):
Silnia 5,6 to :
Plik „C:/Users….py”, wiersz 5, w
print(math.factorial(int(number)))
ValueError : nieprawidłowy literał dla int() o podstawie 10: '5.6'
Otrzymujemy błąd wartości, ponieważ nie możemy obliczyć silni liczby całkowitej zmiennoprzecinkowej. Kiedy jawnie piszemy kod w Pythonie, musimy zadbać o sprawdzenie wszystkich warunków i wyprowadzenie odpowiedniego komunikatu, ale w funkcji silni pakietu Math w pythonie robi to za nas wszystko, co pomaga nam zmniejszyć nasz kod linii, gdy mamy korzystanie z Factorial w naszym Projekcie lub jakimkolwiek zgłoszeniu problemu.
Musisz przeczytać: samouczek Pythona
Wniosek
W tym artykule poznaliśmy znaczenie i zastosowanie pojęć czynnikowych i innych ważnych pojęć matematycznych w prawdziwym życiu. Przeszedłem przez różne typy kodu, aby obliczyć silnię danej liczby. Ten artykuł obejmuje tylko Silnię w Pythonie, ale w pakiecie MATH dostępnych jest wiele innych obliczeń matematycznych. Osoby nowe w Pythonie mogą przyjrzeć się im głębiej, a nawet spróbować kilku.
Jeśli jesteś zainteresowany nauką o danych, sprawdź program IIIT-B i upGrad Executive PG w dziedzinie Data Science , który jest stworzony dla pracujących profesjonalistów i oferuje ponad 10 studiów przypadków i projektów, praktyczne warsztaty praktyczne, mentoring z ekspertami z branży, 1 -on-1 z mentorami branżowymi, ponad 400 godzin nauki i pomocy w pracy z najlepszymi firmami.
Czym jest rekursja w Pythonie?
Rekurencja w Pythonie oznacza zapętlenie danych w celu osiągnięcia określonego wyniku. Jest to dobrze znany proces matematyczno-programistyczny, w którym coś (wyrażenie lub funkcja) jest definiowane samo w sobie. Za pomocą rekurencji Użytkownicy lub programiści mogą dzielić złożone kody i funkcje na mniejsze podczęści, a tworzenie sekwencji staje się znacznie bardziej dostępne. Programista powinien zachować szczególną ostrożność podczas korzystania z rekurencji, ponieważ pisanie funkcji, która nigdy nie kończy działania ani nie zużywa nadmiernej ilości pamięci lub mocy procesora, jest dość częste. Prawidłowo wykonana rekurencja może być niezwykle wydajnym i matematycznie innowacyjnym sposobem programowania.
Ile czasu zajmuje nauka podstaw Pythona?
Python jest uważany za najprostszy język programowania, więc nauka podstaw Pythona jest łatwa i nie jest zbyt czasochłonna. Studenci lub profesjonaliści mogą poświęcić 1-2 miesiące na naukę podstaw Pythona. Profesjonalista może również opanować wszystkie niezbędne funkcje i biblioteki Pythona w ciągu 4-5 miesięcy, poświęcając około 2-3 godzin dziennie. Chwytanie Pythona jest łatwe, ponieważ większość kodów zawiera mniej instrukcji, a więcej predefiniowanych funkcji.
Jaka jest złożoność czasowa programu czynnikowego w Pythonie?
Odkryliśmy z programu silni, że silnia(0) to po prostu jedno porównanie (1 jednostka czasu), a silnia(n) to jedno porównanie, jedno mnożenie, jedno odejmowanie i czas dla silni (n-1). Możemy więc powiedzieć, że T(n) = T(n — 1) + 3 i T(0) = 1. Umieszczając wartości, stwierdzamy, że T(N) jest wprost proporcjonalne do n, jak widać w notacji Big-Oh. W rezultacie złożoność czasowa programu czynnikowego wynosi O(n).