定义功能-为什么此代码错误?

时间:2020-03-01 19:32:54

标签: python function

此代码是错误的;正确的版本发布在下面,但是我不明白为什么该版本不起作用的原因。看来是逻辑结构。

handle

这是正确的代码:

$r = json_encode(file_get_contents('https://cc.hirak.cc/usd_hkd'),true);

2 个答案:

答案 0 :(得分:0)

这是您第一次尝试的代码:

def absolute_value(x): #define a function "absolute_value"
    """returns the absolute value of x.
    """
    if x < 0:
        return -x
    else:
        return x

但是,它避免了不是表达式的赋值。

这是使用索引元组创建三元表达式的另一种方法:

def absolute_value(x):
   return (x , -x ) [x <  0] 

要注意的最后一件事:您的代码暗示您可能相信将值传递回调用程序的方法是修改参数x。但是,x的值不会修改对absolute_value()的调用中使用的参数。考虑下面的代码调用您的第二个函数:

>>> x = -3
>>> print absolute_value(x)
3
>>> print x
-3

您可以看到x仍然具有调用前的值。该值作为返回值传递回调用函数。因此,这就是您需要调用函数以更改x的方式:

>>> print x ; x=absolute_value(x)
-3
>>> print x
3

也就是说,您需要将返回值明确分配给x

答案 1 :(得分:-1)

在python中,“ return”不能接受一条语句。

https://docs.python.org/3/reference/simple_stmts.html

我希望这会有所帮助。