私は現在、singpathと呼ばれるWebサイトでPythonの問題セットに取り組んでいます。質問は:
プレフィックス評価スペースや構文エラーなしでプレフィックス表記の形式で算術式を評価する関数を作成します。式は文字列として指定され、式のすべての数値は0〜9の整数であり、演算子は+(加算)、-(減算)、*(乗算)、/(除算)、%(モジュロ)です。 Pythonとまったく同じように動作します。ポーランド記法とも呼ばれる接頭辞表記法は、論理、算術、および代数の表記法の形式です。オペランドの左側に演算子を配置します。演算子のアリティが固定されている場合、結果は、あいまいさなしに解析できる括弧またはその他の括弧がない構文になります。
これは十分に単純に見えますが、文字列はデータをつなぎ合わせるために入力にスペースを入れずに凝縮されています。モジュールをインポートせずに文字列からデータを分離するにはどうすればよいですか?さらに、データの結果を使用して、与えられた方程式を解くにはどうすればよいですか?また、Singpathソリューションは、標準のPythonライブラリにないメソッドを使用できない1つの関数に含まれている必要があることをminfに留めておいてください。これには、ソリューション内で宣言された関数も含まれます:S
例:
>>> eval_prefix("+34")
7
>>> eval_prefix("*−567")
-7
>>> eval_prefix("-*33+2+11")
5
>>> eval_prefix("-+5*+1243")
14
>>> eval_prefix("*+35-72")
40
>>> eval_prefix("%3/52")
1
私のポイントを参照してくださいスペースなしD: