首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在运行时从python中的输入字符串定义函数?

如何在运行时从python中的输入字符串定义函数?
EN

Stack Overflow用户
提问于 2020-08-20 06:26:39
回答 2查看 178关注 0票数 0

我在试图解决UVA 11036问题。它需要在运行时定义函数。

例如:我必须将输入(2*x + 7) % N作为字符串,并在运行时(如func = lambda x : (2*x + 7) % N )定义一个函数来处理它。请帮助我了解如何在运行时将字符串转换为功能。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-20 07:50:36

您可以使用exec从字符串中定义函数。但是,这允许向程序中注入任何代码。但是,因为这只是为了解决这个挑战,所以可能没问题。

代码语言:javascript
运行
复制
exec 'func = lambda x : '+input
票数 1
EN

Stack Overflow用户

发布于 2020-08-20 07:38:42

这似乎是迷人的谜语,所以如果你想要解决它在C++有两种方式。困难的方法是使用一些算法(如调车码算法 )实现一个小型数学解析器。或者,如果您熟悉C++中的库链接,最好使用数学表达式解析器库。因特网上有许多图书馆。在这里,我建议其中之一如下。

数学表达式库 I个人已经测试过它,而且显然是快速的。您可以在源代码中克隆GitHub

无论如何,您不能用lambda函数来解决这个问题,因为输入是一个数学表达式,您应该解析并计算它运行时。

如果使用python,请参阅这个职位

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63499436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档