2012-07-14 3 views
241

나는 VB.net이나 C#에서 사용할 수있는 예제와 같은 case 문에 대해 파이썬과 동등한 것을 알고 싶습니다.사례/스위치 문의 파이썬은 무엇이 있습니까?

+2

두 번째 질문은 후속 조치가 아니며 후속 조치도 별도의 질문으로 게시됩니다. 이 외에도 화제가 아니기 때문에 프로그래머도 계속해야합니다 .stackexchange.com. 그리고 첫 번째 질문은 복제본입니다. –

답변

355

official docs은 스위치를 제공하지 않아 기쁘지만, solution using dictionaries을 보았습니다. 예를 들어

: 다음에 해당하는 스위치 블록이 호출

# 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]() 

이것은 당신이 많이 통해 가을에 의존하는 경우 붕괴하기 시작합니다.

+12

사전은 함수 정의 – flexxxit

+0

@MortezaLSC 뒤에 와야합니다. 정수를 함수에 매핑하는 경우에는 따옴표가 필요하지 않습니다. –

+0

@Prashant Kumar, python 2.7.6을 사용하고 있는데 오류가 발생했습니다! +1 – MLSC