Pytonorm

Skriva faktorprogrammet i Python

Skriva faktorprogrammet i Python
Faktorn för ett tal är det nummer du får efter att multiplicera alla nummer från 1 till det numret. Faktorn för ett nummer betecknas med '!symbol. Till exempel, om vi vill ta reda på faktorn 4, betecknad 4!, då skulle resultatet bli 1x2x3x4 = 24. Det finns många sätt att ta reda på faktorn för ett nummer. Faktoriet kan bestämmas i Python med hjälp av den inbyggda funktionen för loop- och rekursiva funktioner. Denna handledning visar hur ett tal kan bestämmas med hjälp av olika funktioner i Python.

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.

5 bästa arkadspel för Linux
Numera är datorer seriösa maskiner som används för spel. Om du inte kan få den nya poängen vet du vad jag menar. I det här inlägget kommer du att känn...
Strid om Wesnoth 1.13.6 Utveckling släppt
Strid om Wesnoth 1.13.6 släpptes förra månaden, är den sjätte utvecklingsversionen i 1.13.x-serien och den levererar ett antal förbättringar, framför ...
Så här installerar du League Of Legends på Ubuntu 14.04
Om du gillar League of Legends är det här en möjlighet för dig att testa League of Legends. Observera att LOL stöds på PlayOnLinux om du är en Linux-a...