我正在尝试创建一个计算器,它将接收公式和来自各个变量的数据作为输入。
我试图让它尽可能地对用户友好,所以在我看来,用户会插入公式,我的代码会简单地识别公式中的变量。
在此之后,程序将简单地询问每个变量对应的值。
问题是:“如何解析字符串以搜索变量?” 我必须能够识别诸如“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))