定义包含不等式的函数
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 == True
和 0 == False
都成立。
我想定义一个函数 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 == True
和 0 == False
都成立。