我想使用的,而不是幾個條件語句布爾代數,例如而不是使用幾個if語句我想用一個布爾代數,
def boo(x,y):
if x==3 and y==1: return 4
if x==3 and y==4: return 1
if x==4 and y==1: return 2
if x==4 and y==2: return 1
if x==5 and y==1: return 3
我想要做的就是
def simple(x,y):
return x#y
總共有12個方程,我只想直接返回(x#y),其中#是布爾運算符。我做了這個小問題,我幸運地找到了一個關係。我也想在這種情況下也做同樣的事,我該如何處理呢?
這是否有任何性能增益,因爲它沒有經過幾個條件? 這是正常的做法嗎?
樣本:
x y output
1 2 3
1 3 2
1 4 5
1 5 4
這裏簡單的按位異或門會做
def(x,y): return x^y
您能否提供關於您的關係性質的更多細節?很難說如何在不知道約束條件的情況下對數學問題的表示進行數學優化。與使用嵌套的「字典」相比,可能有一種更加優雅的方式來做到這一點,但是對於玩具問題,通常情況下,我們需要準確理解您可以或不可以期待的內容。 – 2011-12-18 00:08:20
我正在尋找一個使用智能操作來做這件事的一般程序..我記得在一個本科電子課上做這種問題..病更新一個小例子的問題..我的直覺感覺說一定有一些程序向後並找到關係..我只是好奇..看起來像使用一個dictioary是在一般情況下更優雅的方式 – syllogismos 2011-12-18 00:43:20
我不能想象當你的輸入不是布爾值時,你期望如何使用布爾代數。至於如何找到關係,那麼......如果你不知道關係,那麼你如何知道12個單獨輸入的正確答案? – 2011-12-18 00:50:53