"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