运行python脚本的不同方式

时间:2012-03-23 00:14:29

标签: python

我来自C#背景,我很难搞清楚如何运行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__将是我调用chop函数的主要方法,但它不起作用。我把它保存在test.py文件中。另外我虽然我可以以某种方式运行Python Shell中的chop函数,但我不知道该怎么做。请指教。谢谢。

2 个答案:

答案 0 :(得分:3)

如果您位于脚本所在的目录中,请运行

python test.py

如果要从解释器运行chop函数,请在脚本所在的目录中启动解释器并执行

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

应该这样做。如果没有,您的代码中可能会出现语法或其他错误,例如您在问题评论中已经讨论过的缩进。

答案 1 :(得分: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 Python 2.7.1(r271:86832,2011年7月31日,19:30:53) [dclwin上的[GCC 4.2.1(基于Apple Inc. build 5658)(LLVM build 2335.15.00)] 输入“帮助”,“版权”,“信用”或“许可”以获取更多信息。 &gt;&gt;&gt; import chop`

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

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

>>> print f