gpt4 book ai didi

python - 识别方程中的变量

转载 作者:行者123 更新时间:2023-12-01 05:37:47 25 4
gpt4 key购买 nike

我正在尝试创建一个计算器,它将接收公式和来自各个变量的数据作为输入。

我试图使其尽可能对用户最友好,因此在我看来,用户将插入公式,而我的代码将简单地识别公式中的变量。

此后,程序将简单地询问每个变量对应的值。

问题是:“如何解析字符串来搜索变量?”我必须能够识别“pi”和三角函数之类的东西,因为变量可能是角度。

有什么简单的方法可以做到这一点吗?

编辑:这是我到目前为止所拥有的代码,这只是我的第一个方法,用户可以执行该代码。但我试图使用 eval 和 exec 来逃避

from scipy import stats
import matplotlib.pyplot as plt
import numpy as np
from math import*
import math
recept = "."

print("Bem vindo a calculadora de incertezas com base no metodo Monte Carlo")
formula = input("Insira a formula desejada:")
while (recept != ""):
recept = input("Defina as variaveis de acordo com o exemplo:\n EX: P = (media, desviopadrão)")
print (recept)

#Aproach one: Execute code inserted by user: user would define the variables.
if(recept != ""):
exec(recept)

print (exec(formula))

最佳答案

这应该可以帮助您开始:

>>> import re

>>> formula = "P = V*I*cos(2*pi*f)"
>>> variables = re.findall('[a-zA-Z]+' , formula)
['P', 'V', 'I', 'cos', 'pi', 'f']
>>> special = ['cos', 'pi']
>>> variables = [v for v in variables if v not in special]
['P', 'V', 'I', 'f']

从这里您可以改进正则表达式以考虑更复杂的变量名称(例如:V1)

关于python - 识别方程中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18490164/

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