2024-03-29 09:01:33 发布
网友
如何将字符串输入解析为适当的形式,以便在lambda函数中作为映射规则执行?
fx=type(input("Enter a polynomial: "))
这是我的输入,我想输入任意多项式。
f= lambda x: fx
现在我希望lambda函数能够执行输入函数中的字符串,就好像它们是像x**2这样的常规映射规则一样。
x**2
首先,input()在Python 2和Python 3中的行为不同,如this应答中所指定的。
input()
^{}是最简单的选项之一:
>>> fx = input("Enter a polynomial: ") Enter a polynomial: x**2 + 2*x + 1 >>> f = lambda x: eval(fx) >>> f(1) 4
>>> fx = raw_input("Enter a polynomial: ") Enter a polynomial: x**2 + 2*x + 1 >>> f = lambda x: eval(fx) >>> f(1) 4
但是要小心,因为eval()可以执行任意代码。
eval()
首先,
input()
在Python 2和Python 3中的行为不同,如this应答中所指定的。^{} 是最简单的选项之一:
Python3
Python2
但是要小心,因为
eval()
可以执行任意代码。相关问题 更多 >
编程相关推荐