2012-05-26 45 views
0

我有一個腳本我正在爲Python課程工作,但是我的腳本不工作,我不明白爲什麼。以下是我有:python腳本不工作

#!/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