0

Pythonで簡単なスプレッドシートを作りたいです。

文字列から数式を解析する必要があります。

今のところ必要な操作は次のとおりです。 + - * / ^ ()

数式は常に「=」で始まります。

入力例:

  1. =4+8-6/2 これは簡単です: eval() を使うだけです

2. =4b+12*(2+5) '4b' は、スプレッドシートの別のセル (変数) へのリンクです。

** すべてのリンクを '4b' ではなく 'b4' のようにすることも可能です

スクリプトは、リンク (変数) を対応する値に置き換えます。

私が達成できないのは、パーサーに「4b」や「b4」などの変数を「理解」させることです。残りは非常に簡単です

何を提案しますか?

PS私はPythonが初めてです。pyparsing を試してみましたが、必要に応じてカスタム例を使用したり修正したりするのは複雑です。より簡単な解決策を見つけたい

4

2 に答える 2

0

匿名関数を作成するラムダ式は、これを処理する効率的な方法です。Peter Norvig の Udacity コース - The design of computer programs のいくつかをチェックすることをお勧めします。レッスン 2 の一部として、彼はこれと非常によく似たシナリオをカバーしています。コースは無料で、自分のペースで進められるので、必要なだけレッスンやサブ レッスンに飛び込んだりスキップしたりできます。

https://www.udacity.com/course/cs212

于 2013-07-08T08:04:36.880 に答える