Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么会有这种打字错误?_Python_Python 2.7 - Fatal编程技术网

Python 为什么会有这种打字错误?

Python 为什么会有这种打字错误?,python,python-2.7,Python,Python 2.7,我试图通过函数sqrt(a)找到一个数字的平方根。fixedPoint(f,epsilon)是一个辅助函数。问题是我得到了一个this-TypeError错误:“float”对象不可调用。我是编程新手,所以如果有人能帮我找到这个bug并解释这个错误是什么意思 def fixedPoint(f, epsilon): """ f: a function of one argument that returns a float epsilon: a small float

我试图通过函数sqrt(a)找到一个数字的平方根。fixedPoint(f,epsilon)是一个辅助函数。问题是我得到了一个this-TypeError错误:“float”对象不可调用。我是编程新手,所以如果有人能帮我找到这个bug并解释这个错误是什么意思

def fixedPoint(f, epsilon):
    """
    f: a function of one argument that returns a float
    epsilon: a small float

    returns the best guess when that guess is less than epsilon 
    away from f(guess) or after 100 trials, whichever comes first.
    """
    guess = 1.0
    for i in range(100):
        if abs(f(guess) - guess) < epsilon:
            return guess
        else:
            guess = f(guess)
    return guess


def sqrt(a):
    def tryit(x):
        return 0.5 * (a/x + x)
    return fixedPoint(tryit(a), 0.0001)
def固定点(f,ε):
"""
f:一个参数的函数,返回浮点值
ε:一个小浮子
当猜测小于epsilon时返回最佳猜测
远离f(猜测)或100次试验后,以先到者为准。
"""
猜测=1.0
对于范围(100)内的i:
如果abs(f(guess)-guess)
sqrt
函数中,代码传递的是
tryit
的返回值(这是一个浮点值),而不是
tryit
本身

传递函数本身将解决问题

def sqrt(a):
    def tryit(x):
        return 0.5 * (a/x + x)
    return fixedPoint(tryit, 0.0001)

sqrt
函数中,代码传递的是
tryit
的返回值(这是一个浮点值),而不是
tryit
本身

传递函数本身将解决问题

def sqrt(a):
    def tryit(x):
        return 0.5 * (a/x + x)
    return fixedPoint(tryit, 0.0001)

您正在将
tryit
的返回值作为参数传递给
fixedPoint
,而不是函数本身。
tryit
返回浮点数,然后
f
是浮点数,
f(猜测)
导致错误。您正在将
tryit
的返回值作为参数传递给
fixedPoint
,不是函数本身。
tryit
返回浮点数,然后
f
是浮点数,
f(猜测)
导致错误。