簡體   English   中英

定義包含不等式的函數

[英]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將變為1False將變為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並且False0 ,您可以將其定義為:

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

但我覺得無論如何都要回歸一個bool是有道理的。 bool畢竟是int子類 ,並且1 == True0 == False hold。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM