Exempel 1: Hitta ett nummer med hjälp av den inbyggda funktionen
Python har en inbyggd funktion med namnet faktoria () under matematik modul. Följande skript beräknar faktorn för valfritt nummer med hjälp av en inbyggd faktoria () fungera. I det här skriptet kommer alla giltiga heltal att tas som inmatning, och funktionen kommer att beräkna faktorvärdet för det numret och skriva ut faktorvärdet för inmatningsnumret.
#!/ usr / bin / env python3# Importera matematikmodul
importera matematik
# Ta valfria talvärden
n = int (input ("Ange valfritt nummer:"))
# Ta reda på det faktiska
fakta = matematik.fabrik (n)
# Skriv ut resultatet av fabriken
skriva ut ("Faktoriet för% d är% d"% (n, faktum))
Produktion
Efter att ha kört skriptet ges 3 som inmatningsnummer och utgången 3!, 6 är tryckt.
Exempel 2: Hitta ett tal med hjälp av slingan
Följande skript visar hur du kan beräkna faktorn för valfritt nummer utan att använda någon inbyggd funktion i Python. Här, den för loop används för att beräkna ett tals faktoria. Alla inmatade heltal kommer att tas och lagras som den variabel som heter n. En variabel med namnet faktum används för att lagra faktorresultatet och initialiseras till 1 innan det går in i slingan. Om värdet på n är mer än en eller lika med en, så kommer slingan att iterera 1 till n + 1 gånger och beräkna faktiskt värde. Annars kontrollerar slingan om värdet på n är lika med 0 eller negativt. Om värdet på n är 0 blir faktorresultatet 1; och om värdet på n är ett negativt heltal kommer ett felmeddelande att skrivas ut.
#!/ usr / bin / env python3# Ta ett numeriskt värde och spara i n
n = int (input ("Ange valfritt nummer:"))
# Initiera variabeln
fakta = 1
# Ta reda på faktorn om ingångsnumret är mer än 0
om n> = 1:
# Iterera slingan till flera siffror inom 1 till n
för i inom intervallet (1, n + 1):
fakta = fakta * i
# Skriv ut det fcatoriella resultatet
utskrift ("Faktorn för% d är% d."% (n, faktum))
annan:
om n == 0:
# Skriv ut resultatet av 0!
tryck ("The factorial of", n, "is")
annan:
# Skriv ut felmeddelandet
skriv ut ("Du måste ange ett positivt tal")
Produktion
Skriptet körs tre gånger, enligt följande skärmdump. Skriptet körs för ingångsvärdena 1, 6 och -8. Utgångarna visas enligt ingångsvärdena.
Exempel 3: Hitta ett tal med hjälp av den rekursiva funktionen
Funktionen som kallar sig själv under körning av funktionen kallas rekursiv funktion. Följande skript visar hur man beräknar faktorn för valfritt heltal med en rekursiv funktion. Efter att ha tagit heltalet som inmatning, den rekursiva funktionen factorial_resursive () kommer att anropas, med inmatningsvärdet som ett argument. Om ingångsvärdet är 0 eller 1 kommer 1 att returneras. Om ingångsvärdet är negativt returneras argumentvärdet. Om ingångsvärdet är mer än 1 kommer funktionen att anropa sig själv genom att subtrahera argumentet med 1 gång på gång tills det beräknar resultatet av faktoria.
#!/ usr / bin / env python3# Ta ett numeriskt värde
antal = int (input ("Ange valfritt nummer:"))
# Definiera rekursiv funktion för att beräkna faktoria
def factorial_recursive (n):
# Lagra faktorresultatet 0 och 1
om n == 0 eller n == 1:
resultat = 1
# Spara inmatningsnumret för negativt värde
elif n < 1:
resultat = n
# Hitta faktorresultatet på ett rekursivt sätt
annan:
resultat = n * factorial_recursive (n-1)
# Returnera resultatet
returresultat
# Ring funktionen
fakta = faktiskt_rekursivt (antal)
# Skriv ut resultatet för positivt antal
om faktum> = 0:
utskrift ("Faktorn för% d är% d."% (antal, faktum))
annan:
# Skriv ut meddelandet för ett negativt tal
skriv ut ("Du måste ange valfritt positivt nummer")
Produktion
I följande skärmdump körs manuset tre gånger med värdena 1, -5 och 8.
Exempel 4: Hitta ett nummer med undantagshantering
Ovanstående tre skript kontrollerar bara om siffran är positiv eller negativ. Följande skript beräknar fabriken via en inbyggd funktion () -funktion med undantagshantering. Om användaren ger någon inmatning utan ett heltal, genereras ett undantag och ett felmeddelande skrivs ut.
#!/ usr / bin / env python3# Importera matematikmodul
importera matematik
# Trots försöksblocket
Prova:
# Ta ett numeriskt värde
n = int (input ("Ange valfritt nummer:"))
om n> = 0:
# Ta reda på faktorn
fakta = matematik.fabrik (n)
# Skriv ut resultatet av fabriken
skriva ut ("Faktoriet för% d är% d"% (n, faktum))
annan:
# Höj undantaget om siffran är negativ
höja undantaget ("Du måste ange valfritt antal")
# skriv ut felmeddelandet för fraktionerad inmatning
utom ValueError:
skriv ut ("Du måste ange heltal")
# Skriv ut felmeddelande för negativ inmatning
utom undantag som e:
skriv ut ('Fel:% s'% e)
Produktion
Skriptet körs tre gånger med värdena h, -3 och 7 i följande skärmdump. Här genereras undantaget för värdet 'h.''
Slutsats
Denna handledning visar några av de olika sätten att beräkna ett faktors värde i Python. Konceptet med ett talfaktor och Python-baserade metoder för att beräkna ett faktoriavtal bör vara tydligt för läsaren efter att ha läst denna handledning.