Het faculteitsprogramma schrijven in Python

Writing Factorial Program Python



De faculteit van een getal is het getal dat je krijgt nadat je alle getallen van 1 met dat getal hebt vermenigvuldigd. De faculteit van een getal wordt aangegeven met het symbool ‘!’. Als we bijvoorbeeld de faculteit van 4 willen weten, aangeduid met 4!, dan zou het resultaat 1x2x3x4 = 24 zijn. Er zijn veel manieren om de faculteit van een getal te achterhalen. De faculteit kan in Python worden bepaald met behulp van de ingebouwde functie voor lus- en recursieve functies. Deze tutorial laat zien hoe de faculteit van een getal kan worden bepaald met behulp van verschillende functies van Python.

Voorbeeld 1: Zoek de faculteit van een getal met behulp van de ingebouwde functie

Python heeft een ingebouwde functie genaamd faculteit() onder de wiskunde module. Het volgende script berekent de faculteit van een willekeurig getal met behulp van een ingebouwde faculteit() functie. In dit script wordt elk geldig geheel getal als invoer genomen en de functie berekent de faculteitswaarde van dat nummer en drukt de faculteitswaarde van het invoernummer af.







#!/usr/bin/env python3
# Wiskundemodule importeren
importeren wiskunde
# Neem willekeurige getalwaarden
N= int(invoer('Voer een willekeurig nummer in: '))
# Ontdek de faculteit
feit= wiskunde.faculteit(N)
# Print het resultaat van de faculteit
afdrukken('De faculteit van %d is %d'%(N,feit))

Uitgang:



Nadat het script is uitgevoerd, wordt 3 als invoernummer gegeven en wordt de uitvoer van 3!, 6 afgedrukt.







Voorbeeld 2: Vind de faculteit van een getal met behulp van de lus

Het volgende script laat zien hoe je de faculteit van een willekeurig getal kunt berekenen zonder een ingebouwde functie in Python te gebruiken. Hier de voor lus wordt gebruikt om de faculteit van een getal te berekenen. Elke ingevoerde integerwaarde wordt genomen en opgeslagen als de variabele met de naam N . Een variabele met de naam feit wordt gebruikt om het faculteitsresultaat op te slaan en wordt geïnitialiseerd op 1 voordat de lus wordt ingevoerd. Als de waarde van N is meer dan één of gelijk aan één, dan zal de lus 1 tot n+1 keer herhalen en de faculteitswaarde berekenen. Anders zal de lus controleren of de waarde van n gelijk is aan 0 of negatief is. Als de waarde van n 0 is, is het resultaat van de faculteit 1; en als de waarde van n een negatief geheel getal is, wordt er een foutmelding afgedrukt.

#!/usr/bin/env python3

# Neem een ​​numerieke waarde en sla op in n
N= int(invoer('Voer een willekeurig nummer in: '))
# Initialiseer de variabele
feit= 1
# Ontdek de faculteit als het invoernummer groter is dan 0
indienN> = 1:
# Herhaal de lus om de getallen binnen 1 tot n . te vermenigvuldigen
voorlin bereik (1,n+1):
feit=feit * ik
# Druk het fcatorial resultaat af
afdrukken('De faculteit van %d is %d.'%(N,feit))
anders:
indienN== 0:
# Print het resultaat van 0!
afdrukken('De faculteit van',N, ' is ')
anders:
# Druk de foutmelding af
afdrukken('Je moet een willekeurig positief getal invullen')

Uitgang:



Het script wordt drie keer uitgevoerd, volgens de volgende schermafbeelding. Het script wordt uitgevoerd voor de invoerwaarden 1, 6 en -8. De uitgangen worden weergegeven volgens de ingangswaarden.

Voorbeeld 3: Vind de faculteit van een getal met behulp van de recursieve functie

De functie die zichzelf aanroept tijdens het uitvoeren van de functie wordt de recursieve functie genoemd. Het volgende script toont de manier om de faculteit van een geheel getal te berekenen met behulp van een recursieve functie. Na het nemen van het gehele getal als invoer, de recursieve functie factorial_resursive () wordt aangeroepen, met de invoerwaarde als argument. Als de invoerwaarde 0 of 1 is, wordt 1 geretourneerd. Als de invoerwaarde negatief is, wordt de argumentwaarde geretourneerd. Als de invoerwaarde groter is dan 1, dan roept de functie zichzelf aan door het argument steeds opnieuw met 1 af te trekken totdat het resultaat van de faculteit is berekend.

#!/usr/bin/env python3
# Neem een ​​numerieke waarde
nummer= int(invoer('Voer een willekeurig nummer in: '))
# Definieer de recursieve functie om de faculteit te berekenen
zekerfaculteit_recursief(N):
# Bewaar het faculteitsresultaat van 0 en 1
indienN== 0 ofN== 1:
resultaat= 1
# Sla het invoernummer op voor een negatieve waarde
elifN< 1:
resultaat=N
# Vind het faculteitsresultaat op een recursieve manier
anders:
resultaat=n*factorial_recursive(N-1)
# Retourneer het resultaat
opbrengstresultaat
# Roep de functie aan
feit=faculteit_recursief(nummer)
# Druk het resultaat af voor een positief getal
indienfeit> = 0:
afdrukken('De faculteit van %d is %d.'%(nummer,feit))
anders:
# Druk het bericht af voor een negatief getal
afdrukken('Je moet een willekeurig positief getal invullen')

Uitgang:

In de volgende schermafbeelding wordt het script drie keer uitgevoerd met de waarden 1, -5 en 8.

Voorbeeld 4: Vind de faculteit van een getal met uitzonderingsbehandeling

De bovenstaande drie scripts controleren alleen of het getal positief of negatief is. Het volgende script berekent de faculteit via een ingebouwde faculteit()-functie met uitzonderingsbehandeling. Als de gebruiker invoer geeft zonder een geheel getal, wordt een uitzondering gegenereerd en wordt een foutbericht afgedrukt.

#!/usr/bin/env python3
# Wiskundemodule importeren
importeren wiskunde
# Trotseer het try-blok
proberen:
# Neem een ​​numerieke waarde
N= int(invoer('Voer een willekeurig nummer in: '))
indienN> = 0:
# Ontdek de faculteit
feit= wiskunde.faculteit(N)
# Print het resultaat van de faculteit
afdrukken('De faculteit van %d is %d'%(N,feit))
anders:
# Verhoog de uitzondering als het getal negatief is
salarisverhoging Uitzondering('Je moet een willekeurig positief getal invullen')
# print de foutmelding voor fractionele invoer
behalve WaardeFout:
afdrukken('Je moet een geheel getal invullen')
# Print foutmelding voor negatieve invoer
behalve Uitzondering alsEn:
afdrukken('Fout:%s'%En)

Uitgang:

Het script wordt drie keer uitgevoerd met de waarden h, -3 en 7 in de volgende schermafbeelding. Hier wordt de uitzondering gegenereerd voor de waarde 'h'.

Conclusie

Deze tutorial toont enkele van de verschillende manieren waarop je de factoriële waarde van een getal in Python kunt berekenen. Het concept van de faculteit van een getal en op Python gebaseerde methoden voor het berekenen van de faculteit zouden de lezer duidelijk moeten zijn na het lezen van deze tutorial.