1.対話的で記号変数を取ることができるモジュールで関数を定義したいと思います。スクリプトからの入力として記号を取る[sympy]
はのは、関数が
http://www.texify.com/img/%5CLARGE%5C%21f%28x%29%5C%20%3D%5C%202x.gifあるとしましょう。
は、その後、私はそれが
>>> function()
number: 3
6
>>> function()
number: x
2*x
>>> function()
number: a
2*a
のように仕事をしたい私は、ユーザー入力を要求したい理由は、私は多くの引数を持つ関数と思っていることです。私は `f(x)+ g(y)= h(z) 'のような方程式で使うことも考えているので、変数を固定する代わりに割り当てることができれば便利です。
2.これはうまくいきませんでした。理由はケンドールの答えで説明されています。
私は最初にモジュールを作った。
twice.py:
def twice():
num = input('number: ')
return 2*num
その後
私はそれを実行した、
あなたは、モジュール内のモジュールのグローバルな名前空間にtwice()
実行し、それをインポートして、インタラクティブにアクセスできません
>>> import sympy as s
>>> x = s.var('x')
>>>
>>> import twice as t
>>> t.twice()
number: x
NameError: name 'x' is not defined
Python 2.xで 'input'を使用しないでください!!安全ではありません:http://docs.python.org/library/functions.html#inputこれは 'eval(raw_input())'と同等ですので、コードを評価することができます。代わりに 'raw_input()'を使用してください。 – rubik