Let us rewrite the Newton’s approximation of square with while
loop.
def newton(x, y, tolerance=1e-6): while abs(x**2 - y) > tolerance: x = 0.5 * (x + y * 1.0 / x) return x def sqrt(y, tolerance=1e-6): return newton(1, y, tolerance) print sqrt(2) print sqrt(3) print sqrt(5)
Here’s the Euclidean algorithm rewritten using he while
loop.
def gcd(a, b): while b != 0: temp = a a = b b = temp % b return a print gcd(50, 42) print gcd(53, 11) print gcd(304, 493)
Finally, we rewrite the definite integral.
def integral(f, a, b, k=500): d = (b-a)*1.0/k i = 0 sum = 0.0 while i < k: sum += f(a + d/2 + i*d) i += 1 return sum * d print integral(lambda x: x**2, 0, 1) print integral(lambda x: x**3, 0, 1, 10000)