import numpy as np
import matplotlib.pyplot as plt
from scipy.special import gamma, factorial
def test_gamma_funciton():
#整数集阶乘拓展到实数集、复数集
print (gamma([0, 1, 5, 10]))
print (gamma([0.5, 1.8, 5.9, 10.2]))
z = 2.5 + 1j
print (gamma(z))
print (gamma(z+1))
print (z*gamma(z)) # Recurrence property)
#计算π值
print (gamma(0.5)**2) # gamma(0.5) = sqrt(pi)
#gama和阶乘示意图
x = np.linspace(-3.5, 5.5, 2251)
y = gamma(x)
plt.plot(x, y, 'b', alpha=0.6, label='gamma(x)')
k = np.arange(1, 7)
plt.plot(k, factorial(k-1), 'k*', alpha=0.6,label='(x-1)!, x = 1, 2, ...')
plt.xlim(-3.5, 5.5)
plt.ylim(-10, 25)
plt.grid()
plt.xlabel('x')
plt.legend(loc='lower right')
plt.show()
if __name__ == '__main__':
test_gamma_funciton()#gama函数
结果:
[ inf 1.0000e+00 2.4000e+01 3.6288e+05]
[1.77245385e+00 9.31383771e-01 1.01270191e+02 5.70499028e+05]
(0.7747621045510835+0.7076312043795929j)
(1.2292740569981173+2.5438401155000685j)
(1.2292740569981158+2.543840115500066j)
3.1415926535897927
Python递归求数组最大值 python递归最大深度
一、初识递归1、递归的定义在一个函数里再调用这个函数本身,这种魔性的使用函数的方式就叫做递归。2、递归的深度递归函数如果不受到外力的阻止会一直执行下去。每一次函数调用都会产生一个属于它自己的名称空间,如果一直调用下去,会造成名称空间占用太多内存。于是python为了杜绝类似内存溢出现象,强制将递归层数控制在了998。def func():
print(1)
func()
func(
python里两个冒号 python列表两个冒号
list1=[88,56,12,3,47,1,65,2]8个元素,排序,从小到大排序,冒号方法一:for i in range(1,len(list1)):#1,2,3,4,5,6,7,i为所有元素统一参与比较的轮数,第一轮以后就剩7个元素参与排序
for j in range(0,len(list1)-i):#j为元素的下标位置
if list1[j]>list1[