2012-03-23 115 views
1

我來自C#背景,我很難搞清楚如何運行python腳本。運行python腳本的不同方法

所以,我寫了這個簡單的遞歸二進制搜索和網上找到,我可以做這樣的事情:

def chop(array, search, lo, high): 

    if lo <= high: 
     middle = (high + lo) /2 
     if array[middle] == search: 
      return 'true' 
     elif search > array[middle]: 
      return chop(array, search, middle + 1, high) 
     else: 
      return chop(array, search, lo, middle -1) 
    return 'false' 



if __name__ == '__main__': 
    a = [1,2,3,4,5,6,7,8,9,10] 
    print chop(a, 21, 0, len(a) -1) 

的__main__將是我的主要方法從調用斬的功能,但它不能正常工作。我把它保存在一個test.py文件中。另外我雖然可以以某種方式運行Python Shell的chop函數,但我不知道如何去做。請指教。謝謝。

+0

? – 2012-03-23 00:16:23

+0

我打開IDLE,然後創建新文件,只需點擊F5運行它。 – 2012-03-23 00:17:29

+0

看起來縮進是錯誤的,chop函數應該和'if __name__ =='__main __':'縮進相同的級別。 – nye17 2012-03-23 00:17:53

回答

3

如果你是在腳本所在的目錄,只需運行

python test.py 

如果要運行來自解釋者印章功能,啓動該目錄中的解釋,其中的腳本位於和執行

import test 
test.chop([...]) # your array 

應該這樣做。如果沒有,你可能在你的代碼中有語法或其他錯誤,比如你已經在你的問題的評論中討論過的縮進。

1

一個辦法 -

def chop(array, search, lo, high):

if lo <= high:

....

a = [1,2,3,4,5,6,7,8,9,10]

chop(a, 21, 0, len(a) -1))

和遊你在主代碼中處理打印。

另一種方式是作爲Irfy建議,類似下面(考慮你的文件名是chop.py) -

「$蟒蛇 的Python 2.7.1(R271:86832,2011年7月31日19時30分: 53) 請在darwin 上輸入「help」,「copyright」,「credits」或「license」以獲取更多信息[GCC 4.2.1(基於Apple Inc.內部版本5658)(LLVM版本2335.15.00)]。 >>>進口chop`命令是否使用的是運行它

>>> a = [1,2,3,4,5,6,7,8,9,10]

>>> f = chop.chop(a, 21, 0, len(a) -1))

>>> print f