python def函数和输入

时间:2018-11-06 15:11:31

标签: python function math input

我正在尝试使用input设置功能,这可能吗?

function = input('Please enter a function example')
def f(x): 
 return function 
print(f(2))

因此,如果函数输入为x ** 2,则应输出数字4。我知道这种语法是不正确的,因为函数是一个字母数字对象,但是我需要您的帮助以了解如何正确设置它

2 个答案:

答案 0 :(得分:-2)

免责声明:请参阅评论,不,您不应将其放在人们认为您正在编写的网页/服务中。但是,对于创建在本地本地运行的玩具计算器而言,此内置功能就足够了。
为了安全起见,请参阅astast.literal_eval以了解非常简单的情况。 simpleevalast有一些不错的包装,您可能更喜欢直接使用和/或从中学习(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?