开关不是内置于语言中的,所以我如何在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中使用这个概念,告诉我使用它的任何技术?
发布于 2015-09-20 04:22:54
正如您所说的,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的字典,就像史鲁塔什巴苏在他的网站上写的那样。他使用Python的字典来匹配键和值,这与开关语句的功能类似。看看他提供的这个例子,可以得到一个更好的想法:
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"它首先定义所有可能的“键”(字典中的值),然后根据调用的“键”(字典值)定义下面的函数。
一旦你这样做了,它就像做字典查找一样简单:
options[num]()我强烈建议您阅读我所链接的这篇文章,因为它将有助于澄清有关Python的开关案例语句的内容,或者缺少此类语句。
发布于 2015-09-20 04:19:49
Python中没有开关情况(这是语言中不幸的事情之一)。相反,您必须使用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"希望这能帮上忙!
https://stackoverflow.com/questions/32675712
复制相似问题