开关不是用Python语言构建的,所以如何在python中为选择一个案例实现这个概念
在其他语言代码中是:
`switch(value) {
case 0:
print("i'm in Case 0");
break;
case 1:
print("i'm in Case 1");
break;
case 2:
print("i'm in Case 2");
break;
case 4:
print("i'm in Case 4");
break;
default:
print("Wrong Value");}
我如何在Python中使用这个概念请告诉我任何使用它的技术?
答案 0 :(得分:1)
正如您所说,Python中的交换机没有内置功能,但有几种方法可以实现它。
第一种方法(不是一个很好的解决方案),就是简单地使用if语句:
if x == 0:
print "X is 0\n"
elif x == 1:
print "X is 1\n"
elif x == 2:
print "X is 2r\n"
elif x == 3:
print "X is 3\n"
第二种,更好的方法是在他的网站上使用Python Shrutarshi Basu所写的Python词典。他利用Python的词典来匹配键和值,类似于switch语句的功能。看看他提供的这个例子,以获得更好的想法:
options = {0 : zero,
1 : sqr,
4 : sqr,
9 : sqr,
2 : even,
3 : prime,
5 : prime,
7 : prime,
}
def zero():
print "You typed zero.\n"
def sqr():
print "n is a perfect square\n"
def even():
print "n is an even number\n"
def prime():
print "n is a prime number\n"
首先定义所有可能的"键" (字典中的值)make-shift switch语句将用于触发函数,然后根据" key"定义下面的函数。 (字典值)被称为。
一旦你这样做,它就像做字典查找一样简单:
options[num]()
我强烈建议您阅读我已链接到的文章,因为它有助于澄清Python的switch-case语句或其缺失。
答案 1 :(得分:-1)
Python中没有Switch Case(这是该语言不幸的事情之一)。相反,您将不得不使用elif
(否则如下)语句,如下所示。
if n == 0:
print "You typed zero.\n"
elif n== 1 or n == 9 or n == 4:
print "n is a perfect square\n"
elif n == 2:
print "n is an even number\n"
elif n== 3 or n == 5 or n == 7:
print "n is a prime number\n"
else:
print "You picked a weird number"
希望有所帮助!