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. 値を最も近い 5 に丸める「丸め」を定義します。

  2. 完了時にプログラムをループするオプションを定義します

  3. 実際のプログラムを定義し、その中で答えを丸め、ループするオプションで締めくくります。何も出力しない2 に気付くかもしれprintませんが、それらは空白行を持つためだけに存在します。

コピーして貼り付けると、構文エラーが発生します。私はプログラマーではなく、これで一日中遊んでいます。このコードを編集して、コピー/貼り付けが可能で、想定どおりに実行する方法を知りたいだけです。

4

2 に答える 2

0

シェルで通常の Python 解釈の代わりにIPythonを使用してみてください。IPython を%cpaste使用すると、 と入力して、コードのチャンク全体を貼り付けることができます。コードは段階的に実行され、中間変数が作業メモリに保存されます。

通常のインタープリターに貼り付ける場合は、行ごとに貼り付け、インデントに特に注意してください。インデントは、通常、貼り付け構文エラーが発生する場所です。

さらに良いことに、Emacsを使用してください。次に、貼り付けたコードを のようにファイルに保存し、とtest.py入力してすばやく実行できます。または、 IPythonのようにファイルに保存した場合は、入力することもでき、コードが実行され、中間変数が作業メモリに再度格納されます。M-x shellpython test.pytest.py%run "test.py"

1、2回以上変更を加えた後にこれをコピー/貼り付けする場合は、ファイルに保存してスクリプトのように実行してください。

于 2012-10-05T19:45:01.003 に答える
0

コードをファイルに保存し、Python を使用して実行できます。
ファイルの先頭に追加できる#!/usr/bin/env pythonので、*nix システムで実行できます (実行権限がある場合)。

または、python SCSAC.pyコードを作成して実行することもできます。これはすべてのシステムで機能します(AFAIK)。ファイルをあなたの人に電子メールで送信すると、その人は Python を使用してファイルを実行できます。これが最も簡単な方法のようです。

于 2012-10-05T19:50:26.590 に答える