如何在运行时从python中的输入字符串定义函数?
我想解决这个问题。它需要在运行时定义函数如何在运行时从python中的输入字符串定义函数?,python,c++,function,parsing,runtime,Python,C++,Function,Parsing,Runtime,我想解决这个问题。它需要在运行时定义函数 例如:我必须将输入(2*x+7)%N作为字符串,并在运行时定义一个函数,如func=lambda x:(2*x+7)%N。请帮助我找出如何在运行时将字符串转换为函数。 它似乎是迷惑谜语,所以如果你想用C++解决它有两种方法。困难的方法是使用一些算法实现一个小型的数学解析器,如。或者,如果您熟悉C++中的库链接,最好使用数学表达式解析器库。因特网上有许多图书馆。在这里,我建议如下其中之一 我已经测试过了,显然速度很快。你可以在GitHub中克隆 无论如何,
例如:我必须将输入
(2*x+7)%N
作为字符串,并在运行时定义一个函数,如func=lambda x:(2*x+7)%N
。请帮助我找出如何在运行时将字符串转换为函数。 它似乎是迷惑谜语,所以如果你想用C++解决它有两种方法。困难的方法是使用一些算法实现一个小型的数学解析器,如。或者,如果您熟悉C++中的库链接,最好使用数学表达式解析器库。因特网上有许多图书馆。在这里,我建议如下其中之一
我已经测试过了,显然速度很快。你可以在GitHub中克隆
无论如何,您不能使用lambda函数解决这种情况,因为输入是一个数学表达式,您应该在运行时解析并计算它
如果使用Python,参见.P/>
它似乎是迷惑的谜语,所以如果你想用C++解决它,有两种方法。困难的方法是使用一些算法实现一个小型的数学解析器,如。或者,如果您熟悉C++中的库链接,最好使用数学表达式解析器库。因特网上有许多图书馆。在这里,我建议如下其中之一
我已经测试过了,显然速度很快。你可以在GitHub中克隆 无论如何,您不能使用lambda函数解决这种情况,因为输入是一个数学表达式,您应该在运行时解析并计算它如果您使用python,请参见。您可以使用exec从字符串定义函数。但是,这允许将任何代码注入到程序中。但因为这只是为了解决这个挑战,所以可能没问题
exec'func=lambda x:'+输入
您可以使用exec从字符串定义函数。但是,这允许将任何代码注入到程序中。但因为这只是为了解决这个挑战,所以可能没问题
exec'func=lambda x:'+输入
请解释这与C++有关。使用<代码> Excor()/代码>在字符串中执行语句。该问题不需要从字符串中定义函数。您应该解析函数的RPN并使用函数合成动态生成一个函数。请解释这与C++相关。使用<代码> Excor()(代码)>在字符串中执行语句。这个问题不需要从字符串中定义函数。您应该解析RPN并使用函数组合动态生成函数。您的意思是@rioV8是的,就是那个。您的意思是@rioV8是的,就是那个。