[英]How do I accept a function as an input?
我正在尝试编写一个程序来接受和评估一个简单的函数,例如:
A=[]
v = input("Enter Function of x: "
o = input("Enter length of range: ")
for x in range (1,o+1):
f = (v)
A.append(f)
但这只是在列表中返回函数文本(输入字符串)“ o”次。 我究竟做错了什么?
编辑:感谢@tdelaney的答案:使用f = eval(v)
v
仅仅是一个字符串。 在其周围加上括号使它成为一个元素的元组-相同的字符串。 您没有做任何事情将其转换为功能-在任何编程语言中这都不是小菜一碟,因为您正试图将新代码注入已解析的程序中。
Python为此提供了eval函数。 但是要当心,因为eval
非常强大且危险。
my_func = "x*x + 2*x - 3"
limit = 5
y_vals = []
for x in range (1,limit+1):
y_vals.append(eval(my_func))
print(y_vals)
输出:
[0, 5, 12, 21, 32]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.