[英]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)
另請注意,由於返回值僅取決於x
,因此可以從函數的定義中刪除t
。
def f(x, t):
return 1 if 0.1 <= x <= 0.3 else 0
我不明白為什么你需要這里的elif
。 您可以將條件定義為0.1 <= x <= 0.3
,並且因為如果調用int(..)
,則True
映射到1
並且False
為0
,您可以將其定義為:
def f(x, t):
return int(0.1 <= x <= 0.3)
但我覺得無論如何都要回歸一個bool
是有道理的。 bool
畢竟是int
的子類 ,並且1 == True
和0 == False
hold。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.