玩蛇网提供最新Python编程技术信息以及Python资源下载!

Python要调用用户输的函数有什么简便方式吗

是这样的,我写了一个简单的用python求数值积分的程序,运行是正确的。
比如我想求sin(x)/x,在x从0到1的数值积分,首先我要定义一个函数((我用的是Python2.7)
像这样:

def func(x):
    if 0 == x:
        return 1
    else:
        return sin(x) / x

然后就是一大堆的代码求它的数值积分。
但是下次我再想求cos(x)/x的积分时,又要把上面那小段代码改成return cos(x) / x

现在要给不会修改源代码的人用,怎样直接让用户输入表达式呢?比如程序提示用户输入,然后
他直接输入cos(x) / x然后程序就可以直接使用,但是raw_input只能输入字符串啊。

有什么简便可行的方法吗?

可以用input()嘛。

>>> def sin():
...     return 1
... 
>>> def cos():
...     return 1
... 
>>> a=input()
cos
>>> a()
1
>>> 

只是一个例子。具体还得看情况。

不过。折腾这些干啥子。perl更方便。(砸场子来啰)

● perl -e 'sub sin { ... }; sub cos { ... };use feature "say";chomp (my $func=<STDIN>);say $func->(1)'
sin
Unimplemented at -e line 1, <STDIN> line 1.

请用eval()

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19653.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月24日 - 14时50分28秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules