为了账号安全,请及时绑定邮箱和手机立即绑定

如果直接使用"用户输入的函数"?

如果直接使用"用户输入的函数"?

达令说 2019-03-29 22:09:21
是这样的,我写了一个简单的用python求数值积分的程序,运行是正确的。比如我想求sin(x)/x,在x从0到1的数值积分,首先我要定义一个函数((我用的是Python2.7)像这样:deffunc(x):if0==x:return1else:returnsin(x)/x然后就是一大堆的代码求它的数值积分。但是下次我再想求cos(x)/x的积分时,又要把上面那小段代码改成returncos(x)/x现在要给不会修改源代码的人用,怎样直接让用户输入表达式呢?比如程序提示用户输入,然后他直接输入cos(x)/x然后程序就可以直接使用,但是raw_input只能输入字符串啊。有什么简便可行的方法吗?
查看完整描述

2 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

请用eval()
                            
查看完整回答
反对 回复 2019-03-29
?
HUX布斯

TA贡献1876条经验 获得超6个赞

可以用input()嘛。
>>>defsin():
...return1
...
>>>defcos():
...return1
...
>>>a=input()
cos
>>>a()
1
>>>
只是一个例子。具体还得看情况。
不过。折腾这些干啥子。perl更方便。(砸场子来啰)
●perl-e'subsin{...};subcos{...};usefeature"say";chomp(my$func=);say$func->(1)'
sin
Unimplementedat-eline1,line1.
                            
查看完整回答
反对 回复 2019-03-29
  • 2 回答
  • 0 关注
  • 393 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信