2012-05-26 6 views
0

파이썬 과정을 위해 일하고있는 스크립트가 있지만 스크립트가 작동하지 않아서 그 이유를 알 수 없습니다. 다음은 내가 가지고있는 것입니다.파이썬 스크립트가 작동하지 않습니다.

#!/usr/bin/python 

import time 

def createDictionary(): 
    startTime = time.clock() 
    dict = {'Dog': 'der Hund', 'Cat': 'die Katze', 'Bird': 'der Vogel'} 
    dict[ 'Spider' ] = 'die Spinne' 
    key = 'blabla' 
    if key in dict: 
    print dict[key] 
    else: 
    print "not vaild" 

    endTime = time.clock() 

print "Time taken for programe (in seconds): ", endTime - startTime 

기본적으로 두 가지 문제가 있습니다.

왜 이것이 실패하는지에 대한 조언은 훌륭합니다. 감사합니다.

+1

그것에 대해 무엇을 작동하지 않습니다? – Falmarri

+6

"작동하지 않음"및 "작동하지 않음"은 설명이 유용하지 않습니다. 너는 무엇을 기대 하느냐? 대신 무엇이 발생합니까? StackOverflow의 요점은 일반적인 질문을하는 것입니다. 단지 여러분뿐만 아니라 다른 사람들에게도 유용 할 수 있습니다. 이 하나 정말하지 않습니다. –

+1

추적을 게시하십시오. 그리고 변수 이름에 내장 함수를 사용하지 마십시오 :'dict'. – bernie

답변

3

두 가지 주요 문제점이 있습니다. 첫 번째는 하단의 인쇄 줄이 함수 외부에 있다는 것입니다. 그것은 여전히 ​​함수 내부에 들여 쓰기해야합니다.

두 번째 문제는 실제로 내부 코드가 실행되도록 함수를 호출해야한다는 것입니다. 따라서 함수를 정의한 후 createDictionary()으로 호출하십시오.

그래서, 모두 함께 넣어 : 당신이 얻을해야하며

#!/usr/bin/python 

import time 

def createDictionary(): 
    startTime = time.clock() 
    dict = {'Dog': 'der Hund', 'Cat': 'die Katze', 'Bird': 'der Vogel'} 
    dict[ 'Spider' ] = 'die Spinne' 
    key = 'blabla' 
    if key in dict: 
     print dict[key] 
    else: 
     print "not vaild" 
    endTime = time.clock() 
    print "Time taken for programe (in seconds): ", endTime - startTime 

createDictionary() 

실행 :

not vaild 
Time taken for programe (in seconds): 6.6e-05 
+0

도움을 주셔서 감사합니다. 정말 감사. – Dustin

관련 문제