2012-03-23 8 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からちょうどチョップ関数を実行することができますが、私はそれをやる方法がわかりません。ご意見をお聞かせください。ありがとうございました。

+0

? –

+0

IDLEを開いて新しいファイルを作成し、F5をクリックして実行します。 –

+0

インデントが間違っているようですが、チョップ関数は 'if __name__ == '__main __':'と同じインデントレベルでなければなりません。 – nye17

答えて

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: 5335) 詳細については、「ヘルプ」、「著作権」、「クレジット」、または「ライセンス」と入力してください。 [GCC 4.2.1(Apple Inc. build 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

関連する問題