计算用户输入数字的平方根

时间:2016-01-21 19:02:25

标签: python

编写一个程序,要求用户提供浮点数,然后连续10次应用于sqrt()。以两种不同的方式计算结果。 (提示:sqrt()实际上是一个取幂。)

这就是我得到的:

from math import *

def main():
    n = eval(input("Please enter a whole number: "))
    fact = 1
    for i in range(10):
        n = sqrt(n)*fact
    print("In",i+1 , "The sqrt of :", n , "is", n)

main()

我想这样显示:例如,输入一个数字:16

在1中,16的sqrt是4

在2中,4的sqrt是2

... ...

10,...的平方是......

请帮帮忙?

3 个答案:

答案 0 :(得分:0)

以下是您更正后的代码:

from math import *

def main():
    n = float(input("Please enter a whole number: "))
    for i in range(10):
        n = sqrt(n)
        print("In",i+1 , "The sqrt of :", n , "is", n)

main()

您需要将用户输入转换为float和fact变量。 eval短语不正确。

A" second"这样做的方法是使用** 0.5

def other():
    n = float(input("Please enter a whole number: "))
    for i in range(10):
        n = n ** 0.5
        print("In", i+1 , "The sqrt of :", n , "is", n)

other()

虽然我不知道为什么你会以两种方式需要它。

答案 1 :(得分:0)

以下是其他 /优雅方式应用平方根n次:

#!/usr/bin/env ruby

如果您使用的是Python2,请使用

set :bundle_cmd, "/usr/username/ruby/gems/gems/bundler-1.11.2/exe/bundle"
set :bundle_dir, "/usr/username/ruby/gems/gems/bundler-1.11.2"

如果您使用的是Python3,请使用

>>> def comp_nth_sqrt(x, n):
...     return x**(0.5**n)
... 
>>> comp_nth_sqrt(4, 1)
2.0
>>> comp_nth_sqrt(4, 2)
1.4142135623730951
>>> comp_nth_sqrt(4, 10)
1.0013547198921082

获取您的电话号码。不需要x = int(raw_input()) ,而且大部分时间都是邪恶的。

答案 2 :(得分:0)

## Write a program to check if the input is accept square root or not
## If it accept print the square root if not print sorry..etc
import math

num_sqrt = float(input("Enter number to get the Square root : "))
num_sqrt = math.sqrt(num_sqrt)     #to find the square root
num_sqrt = str(num_sqrt)           #float to string
n = num_sqrt[len(num_sqrt)-2]      #to find "."
if n == "." :                       
    num_sqrt = float(num_sqrt)
    print(num_sqrt)
else :
    print("Sorry this number doesn't have square root")