gpt4 book ai didi

python - 将符号作为脚本 [sympy] 的输入

转载 作者:行者123 更新时间:2023-11-30 23:48:45 24 4
gpt4 key购买 nike

1.我想在模块中定义一个交互式函数,并且还可以采用符号变量。

假设函数是


(来源:texify.com)
.

然后我希望它像这样工作

>>> function()
number: 3
6
>>> function()
number: x
2*x
>>> function()
number: a
2*a

我想提示用户输入的原因是我正在考虑具有许多参数的函数。我还考虑在“f(x)+g(y)=h(z)”等方程中使用它,因此如果可以分配变量而不是固定变量,它将很有用。

<小时/>

2.这是我尝试过的方法,但没有成功。肯德尔的回答中解释了原因。

我首先制作了一个模块。

两次.py:

def twice():
num = input('number: ')
return 2*num

然后我运行了它,

>>> import sympy as s
>>> x = s.var('x')
>>>
>>> import twice as t
>>> t.twice()
number: x
NameError: name 'x' is not defined

最佳答案

当您将其导入模块时,twice() 在模块的全局命名空间中运行,并且无权访问交互式 session 的全局变量,例如 x。毕竟,这就是模块的全部意义。

这通常可以通过将变量传递给函数而不是让它们对全局变量进行操作来纠正。

sympy 没有任何关系,如果您使用常规的 ol' Python 数字或其他任何东西,您也会遇到同样的问题。

关于python - 将符号作为脚本 [sympy] 的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7925154/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com