如何在Python中使用switch?

How to use switch in Python?

switch 没有内置在 Python 语言中所以我如何在 python 中实现这个概念对于 select 一个案例

在其他语言代码中是:

`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 中使用这个概念请告诉我使用它的任何技术?

Python 中没有 Switch Case(语言的不幸之处之一)。相反,您将不得不使用 elif(else if)语句,如下所示。

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"

希望对您有所帮助!

正如您所说,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 的字典来匹配键和值,类似于通常的 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 语句将用来触发函数的所有可能的 "keys"(字典中的值),然后根据 [=27] 定义了下面的函数=](字典值)被调用。

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

options[num]()

我强烈建议您阅读我链接到的文章,因为它有助于澄清有关 Python 的 switch-case 语句或缺少这些语句的内容。