我想制作一个程序,其中用户键入一个函数(“3*x+3”,例如),程序从一个特定的x
值获得Y
值。你知道吗
其思想是,在用户键入“3*x+3”之后,程序将x
替换为3,并打印Y
的值,在本例中是12。你知道吗
这是我做的代码:
K=raw_input()
x=3
result = int(K)
print (result)
当我执行程序并编写函数时,出现一个错误:
ValueError: invalid literal for int() with base 10: '3*x+3'
这只发生在我键入一个带有变量的表达式时(即使它们是以前定义的)。我认为“int()”只适用于只有数字的str文本,但我需要它来处理数字和变量(当然是定义的)。你知道吗
我应该用什么来代替int()
把3*x+3
从str
改成int
?你知道吗
如果您不介意额外的依赖关系,您可以使用numexpr(一个第三方模块,不完全是轻量级的,但支持很多选项)及其
evaluate
函数,它正好满足您的需要:相关问题 更多 >
编程相关推荐