定义包含不等式的函数

defining a function that contains an inequality

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

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

您可以在函数内使用 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)

另请注意,由于 return 值仅取决于 x,您可以从函数定义中删除 t

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

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

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

但我认为 return 一个 bool 还是有意义的。 bool 毕竟是 int 子类 ,并且 1 == True0 == False 都成立。