'''calculates square roots, format input as (number of decimals, root)'''
INPUT = [
(0, 7720.17),
(1, 7720.17),
(2, 7720.17),
(0, 12345),
(8, 123456),
(1, 12345678901234567890123456789)]
def findroot(num):
'''finds root of the given number'''
upper = 1
lower = 0
while lower != upper:
lower = upper
upper = ((num/upper) + upper) / 2
return upper
def main():
'''goes through each item in the input and prints the results'''
for inputno in INPUT:
sol = findroot(inputno[1])
print(format(sol, '.{}f'.format(inputno[0])))
if __name__ == '__main__':
main()
JycnY2FsY3VsYXRlcyBzcXVhcmUgcm9vdHMsIGZvcm1hdCBpbnB1dCBhcyAobnVtYmVyIG9mIGRlY2ltYWxzLCByb290KScnJwpJTlBVVCA9IFsKICAgICgwLCA3NzIwLjE3KSwKICAgICgxLCA3NzIwLjE3KSwKICAgICgyLCA3NzIwLjE3KSwKICAgICgwLCAxMjM0NSksCiAgICAoOCwgMTIzNDU2KSwKICAgICgxLCAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OSldCgpkZWYgZmluZHJvb3QobnVtKToKICAgICcnJ2ZpbmRzIHJvb3Qgb2YgdGhlIGdpdmVuIG51bWJlcicnJwogICAgdXBwZXIgPSAxCiAgICBsb3dlciA9IDAKICAgIHdoaWxlIGxvd2VyICE9IHVwcGVyOgogICAgICAgIGxvd2VyID0gdXBwZXIKICAgICAgICB1cHBlciA9ICgobnVtL3VwcGVyKSArIHVwcGVyKSAvIDIKICAgIHJldHVybiB1cHBlcgoKZGVmIG1haW4oKToKICAgICcnJ2dvZXMgdGhyb3VnaCBlYWNoIGl0ZW0gaW4gdGhlIGlucHV0IGFuZCBwcmludHMgdGhlIHJlc3VsdHMnJycKICAgIGZvciBpbnB1dG5vIGluIElOUFVUOgogICAgICAgIHNvbCA9IGZpbmRyb290KGlucHV0bm9bMV0pCiAgICAgICAgcHJpbnQoZm9ybWF0KHNvbCwgJy57fWYnLmZvcm1hdChpbnB1dG5vWzBdKSkpCgppZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgbWFpbigp