编写一个程序,要求用户提供浮点数,然后连续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,...的平方是......
请帮帮忙?
答案 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")