Any SML coders able to translate this to Python?
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Mon Sep 3 20:26:24 EDT 2018
I have this snippet of SML code which I'm trying to translate to Python:
fun isqrt n = if n=0 then 0
else let val r = isqrt (n/4)
in
if n < (2*r+1)^2 then 2*r
else 2*r+1
end
I've tried reading up on SML and can't make heads or tails of the
"let...in...end" construct.
The best I've come up with is this:
def isqrt(n):
if n == 0:
return 0
else:
r = isqrt(n/4)
if n < (2*r+1)**2:
return 2*r
else:
return 2*r+1
but I don't understand the let ... in part so I'm not sure if I'm doing it
right.
--
Steven D'Aprano
"Ever since I learned about confirmation bias, I've been seeing it everywhere."
-- Jon Ronson
More information about the Python-list
mailing list