所以我的任务是这样的:“除了标准的双精度准确度和你的语言之外,使用你的平方根知识,前10 ^ 5平方根之和的平方根是什么?
sqrt( sqrt(0) + sqrt(1) + sqrt(2) + ... + sqrt(99999) + sqrt(100000) )
输入四舍五入到最接近整数的数字
我创建了一个脚本:
from math import sqrt
def sumsqrt():
return sqrt(sum(map(sqrt, range(100001))))
def main():
print sumsqrt
if __name__ == '__main__':
main()
但是,当我在终端中运行此脚本时,这是输出:
mcbaby$ python cs28.py
<function sumsqrt at 0x652b0>
所以我决定在终端中运行Python,并在那里执行。除了有效之外,我做了几乎相同的事情。
>>> from math import sqrt
>>> sqrt(sum(map(sqrt, range(100001))))
4591.5148887832138
我希望有人可以帮助解释发生了什么。谢谢!
答案 0 :(得分:5)
更改
print sumsqrt # print the address of the object in memory, similar to id(sumsqrt)
到
print sumsqrt() # call the function and print what it returns.
答案 1 :(得分:1)
这是因为当您输入main
代码片段时:
print sumsqrt
您告诉打印“对象”sumsqrt 。 这是功能
尝试修改print sumsqrt()