gpt4 book ai didi

python - 用户输入一个函数

转载 作者:行者123 更新时间:2023-12-01 06:05:04 31 4
gpt4 key购买 nike

我正在编写一个程序,涉及计算用户定义函数的最大值,但是如果用户根据变量(例如 x)输入函数,即

input = x**2 + 2*x + 1

我(完全符合预期)收到错误,因为 x 未定义。

有谁知道允许用户输入单个变量(例如 x)的函数的有效方法吗?

最佳答案

如果您不太担心安全性,最简单的解决方案是评估表达式,例如

def calculate(value, function):
x = value
return eval(function)

print calculate(2, "x**2 + 2*x + 1")
print calculate(2, "x**3 - x**2 + 1")

输出:

9
5

您可以通过传递一个空的builtin字典来使其更安全,但我仍然认为一些聪明的代码将能够访问代码的内部结构。

关于python - 用户输入一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8481327/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com