# -*- coding: utf-8 -*- def sqrt(a): if a < 0: raise ValueError('a doit ĂȘtre positif') if a == 0: return 0 multiplier = 1 while a >= 4: multiplier = multiplier * 2.0 a = a / 4.0 while a < 1: multiplier = multiplier / 2.0 a = a * 4.0 g = a + 0.0 for i in range(10): g = (g + a / g) / 2 return g * multiplier print sqrt(2)