0

私のアプリケーション(C#/ WPF)は、プログラマーではないユーザー向けにPythonコードを作成します。ユーザーはドラッグアンドドロップ項目を選択できるため、アプリがPythonに変換するシーケンスを作成します。

そうは言っても、彼らはデバッグ機能を追加したいと考えています。これは、実行中に入力をシーケンスに挿入するオプションです(たとえば、myVarの値を1から2に変更します)。私が理解していることから、それをPythonに変換できるはずですinput()。私はそれがどのように機能するかを理解しようとしていて、次のエラーが発生しました(を使用してPythonWin):

>>> a = 1
>>> input('--:)')
--:)>>> a=2
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "<string>", line 1
    a=2
     ^
SyntaxError: invalid syntax

私は何が間違っているのですか?
(また、Pythonのデバッグ機能に関するチュートリアルもinput()あります。

編集 Python2.6.6を使用しています。必要ありませんIronPython-Python環境で実行されます。

4

1 に答える 1

2

python documentationによると、input()メソッドは同等でeval(raw_input(prompt))あり、eval()式のみを評価するために使用できます。

たとえば、次のコードは有効です。

>>> a=1 
>>> input('--:)')
--:) a+1
2

ただしa=2、ステートメントであるため、exec()メソッドを使用して実行する必要があります。例を次に示します。

>>> exec(raw_input())
a=2
>>> a
2
于 2012-11-27T15:17:47.877 に答える