我正在尝试使用input设置功能,这可能吗?
function = input('Please enter a function example')
def f(x):
return function
print(f(2))
因此,如果函数输入为x ** 2,则应输出数字4。我知道这种语法是不正确的,因为函数是一个字母数字对象,但是我需要您的帮助以了解如何正确设置它
答案 0 :(得分:-2)
免责声明:请参阅评论,不,您不应将其放在人们认为您正在编写的网页/服务中。但是,对于创建在本地本地运行的玩具计算器而言,此内置功能就足够了。
为了安全起见,请参阅ast
,ast.literal_eval
以了解非常简单的情况。 simpleeval
对ast
有一些不错的包装,您可能更喜欢直接使用和/或从中学习(https://github.com/danthedeckie/simpleeval/blob/master/simpleeval.py) /免责声明
f = input("Function of x: ")
x = float(input("x: "))
print(eval(f))
然后输入x+2
作为第一个输入,2
作为第二个输入,然后看到结果变成4
:
Function of x: x+2 x: 2 4
为使其更加通用,您可能希望从math
导入所有内容:
from math import *
f = input("Function of x: ")
x = float(input("x: "))
print(eval(f))
然后您可以输入cos(x)
,例如:
Function of x: cos(x) x: 3.1415 -0.9999999957076562
答案 1 :(得分:-3)
我假设您的意思是让用户输入代码(函数)作为输入。如果是这种情况,则可能与以下项重复:
In Python: How do I convert a user input into a piece of code?