我有一個蟒示例代碼爲:如何在不檢查Python中的其他條件的情況下直接切換到所需的條件?
輸入:(X,Y)
if x==0 and y==0:
print x+y+1
elif x==0 and y==y:
print x+y*y+2
elif x==x and y==0:
print x*x+y+3
else:
print x*x+y*y+4
如何可以直接切換到條件爲,如果我的輸入是(X,Y)=(0 ,0)它會輸出1而不檢查其他條件?
我嘗試這樣使用字典作爲,
輸入:(X,Y)
def Case1():
print x+y+1
def Case2():
print x+y*y+2
def Case3():
print x*x+y+3
def Case4():
print x*x+y*y+4
dict = {(0,0): Case1,
(0,y): Case2,
(x,0): Case3,
(x,y): Case4,
}
dict[(x,y)]()
當我試圖與輸入(X,Y)=(0,0),這給了我輸出爲4而不是1.看起來,我的代碼只檢查Case4。我在字典中做錯了什麼?
謝謝!
你的'y == y'和'x == x'情況應該總是正確的嗎?在第二種方法中,字典中的「x」和「y」值將是字典定義時的值,而不是查找時的值。 – Blckknght