Fakultätsberechnung in Python

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Projekt lernst du, wie du die Fakultät einer nicht-negativen ganzen Zahl berechnen kannst. Die Fakultät einer positiven ganzen Zahl ist das Produkt aller positiven ganzen Zahlen, die kleiner oder gleich ihr sind, und die Fakultät von 0 ist 1.

👀 Vorschau

$ python factorial.py
2! = 1 * 2 = 2
8! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320

🎯 Aufgaben

In diesem Projekt wirst du lernen:

  • Wie du eine Datei factorial.py im Verzeichnis ~/project erstellen kannst
  • Wie du die Funktion factorial implementierst, um die Fakultät einer nicht-negativen ganzen Zahl zu berechnen
  • Wie du negative Eingaben behandelst, indem du einen ValueError auslöst und eine Aufforderung anzeigt, "Bitte geben Sie eine nicht-negative ganze Zahl ein"

🏆 Errungenschaften

Nach Abschluss dieses Projekts wirst du in der Lage sein:

  • Den Begriff der Fakultät zu verstehen und wie man sie berechnet
  • Eine Python-Funktion zum Berechnen der Fakultät einer nicht-negativen ganzen Zahl zu schreiben
  • Eingabefehler zu behandeln und passende Fehlermeldungen anzuzeigen
  • Dein Wissen um die Python-Programmierung anzuwenden, um ein reales Problem zu lösen

Erstellen der Datei factorial.py

In diesem Schritt wirst du die Datei factorial.py im Verzeichnis ~/project erstellen. Folge den Schritten unten, um diesen Schritt abzuschließen:

  1. Erstelle eine neue Datei und speichere sie als factorial.py im Verzeichnis ~/project.
cd ~/project
touch factorial.py
  1. Füge im File factorial.py folgenden Code hinzu:
def factorial(n):
    """
    Berechnet die Fakultät einer nicht-negativen ganzen Zahl.

    Args:
        n (int): Die nicht-negative ganze Zahl, für die die Fakultät berechnet werden soll.

    Returns:
        str: Die Fakultät der eingegebenen ganzen Zahl im Format "{n}! = {faktoren_str} = {ergebnis}".

    Raises:
        ValueError: Wenn die eingegebene ganze Zahl negativ ist.
    """
    ## Füge deinen Code hier hinzu

Dies ist der Ausgangspunkt für die Funktion factorial, die du im nächsten Schritt implementieren wirst.

Implementiere die Funktion factorial

In diesem Schritt wirst du die Funktion factorial in der Datei factorial.py implementieren. Folge den Schritten unten, um diesen Schritt abzuschließen:

  1. Im File factorial.py ersetze den Kommentar ## Füge deinen Code hier hinzu durch folgenden Code:
def factorial(n):
    """
    Berechnet die Fakultät einer nicht-negativen ganzen Zahl.

    Args:
        n (int): Die nicht-negative ganze Zahl, für die die Fakultät berechnet werden soll.

    Returns:
        str: Die Fakultät der eingegebenen ganzen Zahl im Format "{n}! = {faktoren_str} = {ergebnis}".

    Raises:
        ValueError: Wenn die eingegebene ganze Zahl negativ ist.
    """
    if n < 0:
        raise ValueError("Bitte geben Sie eine nicht-negative ganze Zahl ein.")
    elif n == 0:
        return "0! = 1"
    else:
        result = 1
        factors = []
        for i in range(1, n + 1):
            result *= i
            factors.append(str(i))
        factors_str = " * ".join(factors)
        return f"{n}! = {factors_str} = {result}"

## Teilergebnisausgabe beispielhaft:
print(factorial(2))
print(factorial(8))

Dieser Code implementiert die Funktionalität der Berechnung der Fakultät einer nicht-negativen ganzen Zahl. Er behandelt den Fall einer negativen Eingabe, indem er einen ValueError auslöst, und den Fall von 0, indem er "0! = 1" zurückgibt. Für alle anderen nicht-negativen ganzen Zahlen berechnet er die Fakultät, indem er alle Zahlen von 1 bis zur Eingabzahl multipliziert, und gibt das Ergebnis im gewünschten Format zurück.

  1. Speichere die Datei factorial.py.

Deine Datei factorial.py ist jetzt fertig, und du kannst die Funktion factorial verwenden, um die Fakultät jeder nicht-negativen ganzen Zahl zu berechnen.

  1. Um deine Implementierung zu testen, führe im Terminal folgenden Befehl aus:
$ python factorial.py
2! = 1 * 2 = 2
8! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320
✨ Lösung prüfen und üben

Zusammenfassung

Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Übungen absolvieren, um deine Fähigkeiten zu verbessern.