wlbk.net
当前位置:首页 >> python 计算分段函数 >>

python 计算分段函数

* 编写一个程序,计算分段函数的值f(x)={ * x3-1 x>0* 1 x =0* x2+1 x* 运行程序,分别求x=0;1;0.5;5;-3时,f(x)的值 set talk off clear close databases input [请输入x=] to x do case case x>0 y=x*x*x-1 case x=0 y=1 case x y=x*x+1 endcase? y return

那你就把print("")去掉,比如print("y=0")改成y=0

import scipy.stats as sta import math def option_call(s,x,r,sigma,t):d1=(math.log(s/x)+(r+sigma**2/2)*t)/(math.sqrt(t)*sigma) d2=d1-sigma*math.sqrt(t) c=s*sta.norm.cdf(d1,0,1)-x*sta.norm.cdf(d2,0,1)*math.exp(-r*t) return c

做如下的操作:>>> a=range(6)>>> a[0, 1, 2, 3, 4, 5]>>> a[0:3],a[5]=[[2,3,4,5],7]>>> a[2, 3, 4, 5, 3, 7, 5]Python应该是不支持非等差数列的index slice, 你需要自己把你的下标分割为几个等差数列,然后做slice操作.

*var在定义函数参数时,是可变个数参数的意思.在调用时,是要unpack tuple的意思,t = (1,2,3) 直接带入是一个参数,但是*t后就是3个参数了.所以你的2个都不对.写的时候 def restoreDataType(old_type, var):调用时:print restoreDataType(old_type='>f', var=(16435, 13107))

用numpy,scipy等.安装后importnumpyimportscipy便可以进行线性代数矩阵运算,统计运算等.

你好!这个没有循环,虽然内部是存在循环的.不过用的是内置函数,速度很快 print "%0.6f" %reduce(lambda x,y:x+1.0/y,range(1,101)) 仅代表个人观点,不喜勿喷,谢谢.

1、 使用函数,并使用for循环计算结果;def fra(n): if n < 1: return 1 i = 1 total = 1 for i in range(1,n+1): total *= i return totalprint fra(5)2、 使用函数,并使用while循环结算结果;def wxl(n): if n <= 1: return 1 i = 1 m = 1 while i<=n: m *= i i+=1 continue return mprint wxl(5)

t=1mult=1sum1=0i=2while(t>0.1):t=1/multsum1=sum1+tmult=mult*ii=i+1print(sum1)

具体如下:如有帮助,请采纳!!!

网站首页 | 网站地图
All rights reserved Powered by www.wlbk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com