Python:数学公式及其变量识别
我想编写一个程序来识别数学公式,并要求用户输入值并显示结果。Python:数学公式及其变量识别,python,variables,math,formula,Python,Variables,Math,Formula,我想编写一个程序来识别数学公式,并要求用户输入值并显示结果。 无评估功能 程序必须识别4个变量 程序必须识别算术运算符(+、-、*、/、[^、()]->extra) r=a(+、-、*、/)b…,->获取方程解析值,请求值并打印结果 我现在得到的是: formul=raw_input('Enter your formula: ") a=input("Value a: ") b=input("Value b: ") c=input("Value c: ") d=input("Value d: ")
无评估功能
formul=raw_input('Enter your formula: ")
a=input("Value a: ")
b=input("Value b: ")
c=input("Value c: ")
d=input("Value d: ")
这是一个很好的例子,您可以使用eval并在每次出现名称错误时捕获它。像这样的
import re
variables = {}
formula = raw_input('Insert formula: ')
while True:
try:
res = eval(formula, variables)
except NameError as e:
v = re.match('name .(\w+). is not defined', e.message).group(1)
variables[v] = input('insert value for %s: ' % v)
continue
print ("%s = %s" % (formula, res))
break
输出类似于
Insert formula: me + you
insert value for me: 10
insert value for you: 100
me + you = 110
这是大学作业吗?给出的两个答案都使用
eval()
。你觉得这样行吗?还是你真的需要避免这个功能?此外,给定的代码对任何运算符的求值都不起作用。你没有更多吗?如果没有,你真的知道足够处理这个赋值吗?这个可以处理四个变量吗?是的,它可以处理任意数量的变量和操作
Insert formula: me + you
insert value for me: 10
insert value for you: 100
me + you = 110