次のような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) でこれを試したところ、出力は 1 ではなく 4 になりました。私のコードは Case4 のみをチェックしているようです。辞書で何が間違っていますか?
ありがとう!