我正在尝试使用字典在Python中实现switch
语句,但我遇到了一个问题。
以下是我正在尝试的:
print "Enter value of i"
i=eval(raw_input())
j=0
def switch(i):
print "Hello\n"
return {True: 'gauw',
i==1: a(10),
i==2: a(20),
}[True]
def a(t):
global j
j=t
switch(i)
print j
输出:
输入 i 的值
1
20
但我期望输出为 10。所以,这里的主要问题是,它正在执行 i==1
和 i==2
的两个语句。另外,我不能在这里使用 break
。
那么如何获得想要的输出呢?
最佳答案
你会让自己变得复杂吗?如果只是switch的实现,就用if和elif。
def switch(i):
if i==1:
a(10)
elif i==2: #Even if here wil work, instead of elif
a(20)
else:
return 'gauw'()
会成功的
关于python - Python中C类型Switch语句实现的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21377153/