如何用Python求阶乘问题以及其他数学问题

Python在数学里面是十分友好的,有广泛的运用和拓展

阶乘问题计算

# 阶乘计算
n=int(input("输入你要计算的阶乘数字:"))
def fun(n):
	if n==1 or n==0:
		return 1
	else:
		return fun(n-1)*n
print (fun(n))

如何用Python求阶乘问题以及其他数学问题_第1张图片
阶乘求和

# 阶乘求和运算
n=int(input("请输入阶乘求和的末项:"))
s = 1
t = []
for i in range(1,n+1):
    s *= i
    t.append(s)
print(sum(t))

如何用Python求阶乘问题以及其他数学问题_第2张图片
数列求和

# 数列求和
# 观察这个数列:2/1,3/2,5/3,8/5,13/8,21/13......
n=int(input("您需要求和多少项:"))
sum = 0
a, b = 1, 2
for i in range(1, n+1):
    sum += b / a
    a, b = b, a + b
print(sum)

如何用Python求阶乘问题以及其他数学问题_第3张图片
排列组合

# 排列组合
# 1 2 3 4,这些数字可以随意的排列组合组成多少个不重复,不相等的数字
a=0
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if( i != k ) and (i != j) and (j != k):
                a+=1
                print (i,j,k)
print("有{}中排列组合的方式".format(a))

如何用Python求阶乘问题以及其他数学问题_第4张图片

# 兔子问题,有一对兔子,从出生3个月起,每个月都生下一对小兔子,假设兔子不会死亡,那么每个月的兔子总数是多少?
f1 = 1
f2 = 1
for i in range(1,22):
    print ('%12ld %12ld' % (f1,f2)),
    if (i % 3) == 0:
        print ('')
    f1 = f1 + f2
    f2 = f1 + f2

字符串检验

# 输入一串字符串,自动判断英文字母,空格,数字和其他字符有多少
a = input('请输入一串字符:')
英文 = 0
空格= 0
数字= 0
其他= 0
for i in a:
    if i.isalpha():
        英文 += 1
    elif i.isspace():
        空格 += 1
    elif i.isnumeric():
        数字 += 1
    else:
        其他 += 1
print('英文 = %s,空格 = %s,数字 = %s,其他 = %s' % (英文,空格,数字,其他))

你可能感兴趣的:(Python基础项目和算法系列)