Avatar ·

Was ist der Unterschied zwischen verschiedenen Methoden, um in Python die Wurzel zu ziehen?

📁 Python, Beispiel

In Python kann man die Wurzel auf drei Arten ziehen: x ** 0.5, pow(x, 0.5), math.sqrt(x). Und für ganze Zahlen mit ganzzahligem Ergebnis gibt es noch math.isqrt(x). Was ist der Unterschied zwischen ihnen?

P.S. Zum Beispiel muss man bei der Primzahlprüfung von n eine Schleife bis zur Quadratwurzel von n machen. Ist das so richtig?

for i in range(2, int(n ** 0.5) + 1):    ...

Es geht in erster Linie um die Korrektheit (Genauigkeit der Berechnungen). Die Performance steht an zweiter Stelle.

Avatar ·

Im Code:

  • try_repeat – ein Decorator, der den Funktionsaufruf wiederholt, wenn diese eine Exception auslöst.
  • exception_func – eine Funktion, die mit 50% Wahrscheinlichkeit eine Exception auslöst

Beispiel:

def try_repeat(func):    def wrapper(*args, **kwargs):        count = 10        while count:            try:                retu func(*args, **kwargs)            except Exception as e:                print(
                            

Anmelden um eine Antwort zu hinterlassen

Blogs