Schreibe ein Programm, das die Fakultät einer Zahl berechnet.
Die Fakultät von n, bezeichnet als n!
, wird berechnet als 1 * 2 * 3 * … * n. Zum Beispiel ist die Fakultät von 4 24 oder 4! = 1 * 2 * 3 * 4 = 24. Außerdem wurde festgelegt, dass die Fakultät von 0 gleich 1 ist, also 0! = 1.
Fakultäten werden vor allem in der Wahrscheinlichkeitsrechnung verwendet, wenn verschiedene mögliche Ordnungen einer Menge untersucht werden. Zum Beispiel kann eine Gruppe von fünf Personen 5! verschiedene Reihen bilden, und ein Kartenspiel mit 52 Karten kann 52! verschiedene Reihenfolgen haben. Die Faktorrechnung kann auch zur Berechnung von Kombinationen verwendet werden. Es ist zum Beispiel möglich, 52! / (5! * (52-5)!) verschiedene Blätter aus einem 52-Kartenspiel austeilen, und man kann 40! / (7! * (40 - 7)!) verschiedene 7er-Lotterielinien aus 40 Zahlen bilden.
Erstelle die Programmlogik für das Programm:
Schreibe die Programmlogik einmal als while
-Schleife in main_while
und einmal als for
-Schleife in main_for
.
Give a number: **3** Factorial: 6
Die interne Berechnung war hier 1 * 2 * 3 = 6
Give a number: **10** Factorial: 3628800
Und nun war die interne Berechnung 1 * 2 * 3 * … * 8 * 9 * 10 = 3628800
main.py
.main_test.py
.Die Abgabe erfolgt durch den Push ins GitHub Repository. In Moodle ist keine Abgabe vorgesehen oder möglich.
def main_while(): # Write your program here and remove the line "pass" pass def main_for(): # Write your program here and remove the line "pass" pass if __name__ == '__main__': main_while() main_for()
Anmerkung: Kümmere dich ich im Moment nicht zu sehr um if __name__ == '__main__':
.
Dieser Programmblock legt fest, welche Funktion beim Ausführen gestartet wird.
Wir werden dies im Verlauf des Moduls noch genauer betrachten.
Diese Aufgabe ist eine übersetzte und angepasste Aufgabe von Scott Morgan, verwendet unter CC BY NC SA.