定义一个包含不等式的函数

时间:2018-10-20 18:48:47

标签: python function if-statement

我想定义一个函数f(x,t),使得f(x,t) = 1 when 0.1 <= x <= 0.3,否则为0

我不确定如何使用python中的常规def命令执行此操作。我试图在定义中添加elif语句,但对我来说不起作用。

3 个答案:

答案 0 :(得分:1)

您可以在函数内使用if语句:

def f(x,t):
    if 0.1 <= x <= 0.3:
        return 1
    return 0

或更优雅的是,您可以将布尔表达式转换为int,因为True将变成1,而False将变成0

def f(x,t):
    return int(0.1 <= x <= 0.3)

还要注意,由于返回值仅取决于x,因此可以从函数的定义中删除t

答案 1 :(得分:1)

def f(x, t):
    return 1 if 0.1 <= x <= 0.3 else 0

答案 2 :(得分:1)

我不明白您为什么需要elif。您可以将条件定义为0.1 <= x <= 0.3,并且如果调用True,由于1映射到False0映射到int(..),因此可以定义为:

def f(x, t):
    return int(0.1 <= x <= 0.3)

但是我认为仍然返回bool是有意义的。 bool毕竟是int子类,并且1 == True0 == False都成立。