我正在嘗試創建一個計算器,它將接收來自各個變量的公式和數據作爲輸入。識別等式中的變量
我試圖讓這個用戶界面儘可能的友好,所以在我看來,用戶會插入公式,而我的代碼只會在公式中確定變量。
在此之後,程序將簡單地詢問每個變量對應的值。
問題是:「我如何解析字符串來搜索變量?」 我必須能夠識別「pi」和三角函數,因爲變量可能是角度。
有沒有簡單的方法來做到這一點?
編輯:這是我到目前爲止的代碼,這只是我的第一個aproach,它將是用戶執行代碼。但我想使用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))
你能後的你一些代碼到目前爲止嘗試過嗎? –
我不認爲我很瞭解你。 你的意思是: 5pi 並且計算器會自動識別pi爲3.14並將其乘以5? –
是的,也許我表達自己錯了。例如:P = V * I * cos(2 * pi * f),起初我只是解析什麼是文本,但並不總是什麼文本是一個變量。在這種情況下,只有V,I和f是變量。 – humberto