首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python中使用开关?

如何在Python中使用开关?
EN

Stack Overflow用户
提问于 2015-09-20 04:09:40
回答 2查看 1.5K关注 0票数 1

开关不是内置于语言中的,所以我如何在Python中实现这个概念?

在其他语言中,代码是:

代码语言:javascript
复制
`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中使用这个概念,告诉我使用它的任何技术?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-20 04:22:54

正如您所说的,Python中的开关没有内置的功能,但是有几种方法可以实现它。

第一种方法(不是一个很好的解决方案)是简单地使用if语句:

代码语言:javascript
复制
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的字典来匹配键和值,这与开关语句的功能类似。看看他提供的这个例子,可以得到一个更好的想法:

代码语言:javascript
复制
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"

它首先定义所有可能的“键”(字典中的值),然后根据调用的“键”(字典值)定义下面的函数。

一旦你这样做了,它就像做字典查找一样简单:

代码语言:javascript
复制
options[num]()

我强烈建议您阅读我所链接的这篇文章,因为它将有助于澄清有关Python的开关案例语句的内容,或者缺少此类语句。

票数 1
EN

Stack Overflow用户

发布于 2015-09-20 04:19:49

Python中没有开关情况(这是语言中不幸的事情之一)。相反,您必须使用elif (否则的话)语句,如下所示。

代码语言:javascript
复制
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"

希望这能帮上忙!

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32675712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档