1

我不确定功能是否是我正在寻找的词。事实上,我真的不知道我在说什么,但我有一些代码,但它并没有完全按照我的意愿去做。基本上我想复制并粘贴我拥有的这段代码并将其通过电子邮件发送给某人。我希望他们能够简单地将其复制并粘贴到他们的终端并执行计算。:

## SCSAC.py

def round(x, base=5):
    return int(base * round(float(x)/base))

option = 'yes'
while (option == 'yes'):
    x=float(raw_input('How many accumulated orders do you have from retailers: '));
    y=float(raw_input('How many units are in the inventory: '));
    z=float(raw_input('How many accumulated orders have you placed: '));
    print 'Place an order of %s units' % round(((x / 25 + y / 10 + z / 25) + 115));
    print ; 
    option=raw_input("Do you wish to calculate another order? (Enter 'yes' to continue or any other key to quit):: ");
    print 

每当我逐行键入此代码时,它都能完美运行。那是因为这里基本上发生了 3 件不同的事情。

  1. 我定义了“round”,它将一个值四舍五入到最接近的 5。

  2. 我定义了一个选项以在完成后循环程序

  3. 我定义了实际的程序,并在其中对答案进行了四舍五入,并以循环选项结束。您可能会注意到 2print不打印任何内容,但它们只是有空行。

当我复制并粘贴它时,我得到一个语法错误。我不是程序员,我整天都在玩这个。我只想知道如何编辑此代码,以便它可以复制/粘贴,并且可以按照预期的方式运行。

4

2 回答 2

0

尝试在 shell 中使用IPython而不是常规的 Python 解释。使用 IPython,您可以键入%cpaste,然后粘贴一整段代码,它将逐步为您执行,将中间变量保存到工作内存中。

如果您坚持在常规解释器中粘贴它,则逐行粘贴,并特别注意缩进。缩进通常是粘贴语法错误的来源。

更好的是,使用Emacs。然后您可以将粘贴的代码保存到文件中,例如test.py,键入M-x shell,然后python test.py快速运行它。或者,如果您将其保存到test.pyIPython 中的文件中,您也可以键入%run "test.py",它将运行代码并再次将中间变量存储到工作内存中。

如果您在进行多次更改后复制/粘贴它,只需将其保存到文件中并像脚本一样运行它。

于 2012-10-05T19:45:01.003 回答
0

您可以将代码保存在文件中,然后使用 Python 运行它。
您可以添加#!/usr/bin/env python到文件的开头,以便它可以在 *nix 系统上运行(如果您有执行权限)。

或者,您可以执行python SCSAC.py并运行您的代码。这适用于所有系统(AFAIK)。您可以将文件通过电子邮件发送给您的人,她可以使用 Python 运行它。这似乎是最简单的方法。

于 2012-10-05T19:50:26.590 回答