"WM." <wfergus...@socal.rr.com> wrote

square = input ('Please enter a number to be rooted, ')
square = square * 1.0

Use raw_input() instead of input() and don't multiply
by 1.0 - instead convert to float using float():

square = float( raw_input ('Please enter a number to be rooted, '))

guess = input('Please guess at the root, ')
guess = guess * 1.0
newguess = 0.

while guess**2 != square:
        # Newton's formula
        newguess = guess - (guess * guess - square) / (guess * 2)
        guess = newguess

You could just combine these two

          guess = guess - (guess * guess - square) / (guess * 2)

        guess**2 - square

That line does not do anything!

print
print
print guess, ' is the square root of ', square
print
print
print 'bye'

Partly a style thing but I would prefer you either used triple
quoted strings and format chars or inserted \n characters.
ie either:

print """


%s  is the square root of  %s



bye""" % (guess, square)

OR

print "\n\n\n",guess," is the square root of", square,"\n\n\nbye!"

Or combine both:

print "\n\n\n%s is the square root of %s\n\n\nbye!" % (guess, square)

Actually, if it was me I'd use two prints:

print "\n\n\n%s is the square root of %s" % (guess, square)
print"\n\n\nbye!"

I offer this rewrite for your critique. Can it be terser, faster, prettier?
Thank you.

Not very critical but maybe it helps...

Alan G.

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to