我想定义一个函数f(x,t)
,使得f(x,t) = 1 when 0.1 <= x <= 0.3
,否则为0
。
我不确定如何使用python中的常规def
命令执行此操作。我试图在定义中添加elif
语句,但对我来说不起作用。
答案 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
映射到False
且0
映射到int(..)
,因此可以定义为:
def f(x, t):
return int(0.1 <= x <= 0.3)
但是我认为仍然返回bool
是有意义的。 bool
毕竟是int
的子类,并且1 == True
和0 == False
都成立。