Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Sympy公式重排器isn';“不要使用字母”;";我可以';我不明白为什么_Python_Sympy - Fatal编程技术网

Python Sympy公式重排器isn';“不要使用字母”;";我可以';我不明白为什么

Python Sympy公式重排器isn';“不要使用字母”;";我可以';我不明白为什么,python,sympy,Python,Sympy,正如标题所示,我正在为一些物理公式做一个公式重排器,我正在尝试为E=h*f做一个函数,即普朗克常数和频率的能量公式 出于某种原因,当您在E_query()函数的input()中键入字母“E”时,答案显示为“[]”。其他每一个字母,大写字母,小写字母,大写字母和小写字母,都没有这个问题。这只是字母E,我不明白为什么 不同的方程式示例: def Fg_query(): Fg_variables = ["G", "M", "m", "

正如标题所示,我正在为一些物理公式做一个公式重排器,我正在尝试为E=h*f做一个函数,即普朗克常数和频率的能量公式

出于某种原因,当您在E_query()函数的input()中键入字母“E”时,答案显示为“[]”。其他每一个字母,大写字母,小写字母,大写字母和小写字母,都没有这个问题。这只是字母E,我不明白为什么

不同的方程式示例:

def Fg_query():
Fg_variables = ["G", "M", "m", "r", "Fg"]
print("Fg=(G*M*m)/r^2 is the formula you selected.")
print("What variable are you trying to solve for?")
Fg_userchoice = input()
G = 0.0000000000667259 
if Fg_userchoice in Fg_variables:
   G,M,m,r,Fg = symbols('G M m r Fg')
   r = (G*M*m)/r**2
   l = Fg
   r = solve(l-r, Fg_userchoice)
   l = Fg_userchoice
   print(r)

elif Fg_userchoice is not Fg_variables:
    print("Invalid input")
    Fg_query()
这是E=f*h函数:

def E_query():
E_variables = ["E","h","f"]

print("E=h*f is the formula you selected.")
print("What variable are you trying to solve for?")
E_userchoice = input()
h = 6.62607004e-34

if E_userchoice in E_variables:
   h,E,f = symbols('h E f')
   r = (h*f)
   l = E
   r = solve(l-r, E_userchoice)
   l = E_userchoice
   print(r)

elif E_userchoice is not E_variables:
    print("Invalid input")
    E_query()

我不知道这是否是Symphy库的问题,或者是我做错了什么,但是如果有人能告诉我发生了什么,那将是一个很大的帮助。

Symphy有时让您通过输入字符串来解决问题,并将
为您整理它。但是,在
E
的情况下,会创建数字常量
E=exp(1)
。因此,为了安全起见,不要将用户的选择作为字符串发送到
solve
,而是将其作为
Symbol(用户选择)

发送。有时,Symphy允许您输入字符串,并将
为您进行整理。但是,在
E
的情况下,会创建数字常量
E=exp(1)
。因此为了安全起见,不要将用户的选择作为字符串发送到
solve
,而是作为
Symbol(用户选择)
发送