編碼器在這裏非常基本的技能:基本Python函數(數學參與)
我剛開始進入Python中的編碼和在困難的類型的功能測試自己。任何數學家都會幫我解決這個問題嗎?我已經找到了問題的字符串網上我可以除了最後的一個做:
我那種只需要一個什麼樣的公式,這是一種解釋,應該如何制定出來,所以我也許可以用
def A(S,K):
任何幫助表示讚賞定義它,謝謝
編碼器在這裏非常基本的技能:基本Python函數(數學參與)
我剛開始進入Python中的編碼和在困難的類型的功能測試自己。任何數學家都會幫我解決這個問題嗎?我已經找到了問題的字符串網上我可以除了最後的一個做:
我那種只需要一個什麼樣的公式,這是一種解釋,應該如何制定出來,所以我也許可以用
def A(S,K):
任何幫助表示讚賞定義它,謝謝
的公式是非常基本的,它說:對提供的參數「S」返回值「K」的函數「F」,如果值「S」是小於或等於則值「K」,如果該值作者: '是大於值 'K' 和下部然後將值 '2 * K' - 返回值 '2 * K-3',否則返回0
的Python:
def A(S,K):
result = 0
if S <= K:
result = K
elif K < S < 2*K:
result = 2*K-S
return result
你可以像定義功能:
def A(S,K):
if S <= K:
f = K
elif K < S and S < 2*K:
f = 2*K - S
else:
f = 0
return f
利用該您可以定義返回結果的函數,可以避免堆疊分支,因爲
def A(K,S):
if S<= K:
return K
if S>= 2*K:
return 0
return 2*K-S
或者作爲一個班輪也強調了它是一個連續函數
A = lambda K,S : max(0, min(K, 2*K-S))
RESP。
A = lambda K,S : max(0, 2*K - max(K, S))
哪一部分是你遇到問題? if/else檢查非常簡單。代碼在函數定義中幾乎是*。 – timgeb
這似乎不是一個Python問題。更多關於如何以編程方式解決數學問題的問題。 – putvande
'如果s <= k:return k;如果k