LoslegenKostenlos loslegen

Zeit messen I

In den Folien hast du gesehen, wie die Funktion time.time() geladen und verwendet werden kann, um die Zeit für eine einfache mathematische Operation zu messen.

Jetzt nutzt du die gleiche Strategie, um zwei unterschiedliche Methoden für ein ähnliches Problem zu bewerten: Berechne die Summe der Quadrate aller positiven ganzen Zahlen von 1 bis 1 Million (1.000.000).

Wie im Video vergleichst du zwei Methoden: eine mit „brute force“ und eine mathematisch elegantere.

In der Funktion formula verwenden wir die Standardformel

$$ \frac{N*(N+1)(2N+1)}{6} $$

wobei N = 1.000.000.

In der Funktion brute_force iterieren wir über jede Zahl von 1 bis 1 Million und addieren ihr Quadrat zum Ergebnis.

Diese Übung ist Teil des Kurses

Effizient mit pandas programmieren

Kurs anzeigen

Anleitung zur Übung

  • Berechne das Ergebnis des Problems mit der Funktion formula().
  • Gib die benötigte Zeit für die Berechnung mit formula() aus.
  • Berechne das Ergebnis des Problems mit der Funktion brute_force().
  • Gib die benötigte Zeit für die Berechnung mit brute_force() aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Calculate the result of the problem using formula() and print the time required
N = 1000000
fm_start_time = ____
first_method = formula(N)
print("Time using formula: {} sec".format(time.time() - fm_start_time))

# Calculate the result of the problem using brute_force() and print the time required
sm_start_time = ____
second_method = ____(N)
print("Time using the brute force: {} sec".format(time.time() - sm_start_time))
Code bearbeiten und ausführen