0

だから私はPython2.4で差分計算プログラムを書いています(私はそれが時代遅れであることを知っています、それは学校の割り当てであり、私たちのシステム管理者は何も更新することを信じていません)、プレフィックス表記のユーザー入力を受け入れます(つまりinput = [+- * x ^ 2 2x 3x ^ 2 x]、x ^ 2 + 2x-3x ^ 2 * x)と同等であり、微分を計算します。

コマンドラインのユーザー入力を読み取り、数学演算子をキューに入れる方法を見つけようとしていますが、理解できません。どうやら、X = input()およびx = raw_input()コマンドが機能しておらず、Python2.4でユーザー入力を読み取る方法に関するドキュメントが文字通り0個見つかります。私の質問は、Python 2.4でユーザー入力を読み取る方法と、その入力をキューに入れる方法です。これが私が試していることです:

1 formula = input("Enter Formula:")
2 
3 operatorQueue=[]
4 
5 int i = len(formula)
6 
7 for x in formula:
8     if formula[x] == '*', '+', '-', '/':
9         operatorQueue.append(formula[x])
0 
11 print "operator A:", operatorQueue.pop(0)
12 

どちらが機能していません(「print:コマンドが見つかりません」や「formula:コマンドが見つかりません」などのエラーが発生し続けます)

どんな助けでもいただければ幸いです

4

2 に答える 2

1

UNIX風のプラットフォームを使用している場合は、

#!/usr/bin/env python 

プログラムの上に。シェルは、Pythonスクリプトを実行していることを認識していないようです。

于 2012-04-08T00:03:43.037 に答える
1

@miku は、これが最初の問題であるとすでに回答していますが、さらに追加すると思いました。

bash、perl、python などの言語を解釈するために適切なプロセスが使用されるように、コマンド ライン スクリプトには「sh-bang」行が必要です。したがって、あなたの場合、次のものが必要になります。/usr/bin/env python

そうは言っても、一度実行すると、他のいくつかの問題にぶつかることになります。生の文字列が返されるため、raw_inputの代わりに使用する必要があります。ほとんどの場合、問題が発生する可能性がある文字列を評価しようとします。inputinput

Python 構文をもう少し見直す必要があるかもしれません。Python での代入では、変数 type: を宣言する必要はありませんint a = 1。これは動的であり、コンパイラーが処理します。

if elif elseまた、数式のケースを適切に処理するために、テストの実行方法を確認する必要があります。それも、複数のパラメーターを使用して1行ですべてを実行することはできません。

于 2012-04-08T00:13:48.183 に答える