Bilmek istiyorum, VB.net veya C# üzerinde bulunan örnekler gibi durum ifadesi için bir Python eşdeğeri var mı?Bir vaka/anahtar ifadesi için Python eşdeğeri nedir?
241
A
cevap
355
official docs anahtar sağlamayacak olsa da, bir solution using dictionaries görmüşsünüz. Örneğin
: Sonra eşdeğer anahtar bloğu çağrılır
# define the function blocks
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"
# map the inputs to the function blocks
options = {0 : zero,
1 : sqr,
4 : sqr,
9 : sqr,
2 : even,
3 : prime,
5 : prime,
7 : prime,
}
:
options[num]()
Bu ağır aracılığıyla sonbahar bağlıdır eğer dağılmaya başlar.
81
Doğrudan değiştirme, if
/elif
/else
. Bununla birlikte, birçok durumda Python'da daha iyi yollar vardır. Bkz. "Replacements for switch statement in Python?".
İkinci soru bir takip değildir ve hatta takipler ayrı sorular olarak gönderilmelidir. Buna ek olarak, konu dışı ve programmers.stackexchange.com devam etmelidir. Ve, ilk sorunun bir kopyası. –