2010-05-08 8 views
3

간단한 프로그램에 문제가 있습니다. 사용자 입력에 따라 특정 기능을 수행하고 싶습니다. 난 이미 할당을 할 수있는 스위치를 대체 사전을 사용했습니다하지만 사전에 기능을 할당 할 때 그것은 ... 코드를 실행하지 않습니다 내가 무슨 짓을했는지사전에 함수를 어떻게 할당합니까?

def PrintValuesArea(): 
    ## do this 
def PrintValuesLength(): 
    ## do that 
def PrintValuesTime(): 
    ## do third 

PrintTables={"a":PrintValuesArea,"l":PrintValuesLength,"t":PrintValuesTime} 
PrintTables.get(ans.lower()) ## ans is the user input 

을 잘못된? 내가 본 모든 예제와 같습니다 ...

답변

10

당신은 그것을 잊어 버렸습니다.

PrintTables.get(ans.lower())() 

또는

PrintTables[ans.lower()]() 
관련 문제