联系题:
1.阶乘
def jc(n):
res = 1
for n in range(n):
res *= (n+1)
return res
print(f"jc(5)={jc(5)}")
print(f"jc(2)={jc(2)}")
2.计算圆形面积
```python
import random
#半径为1的正方形,内切一个1/4圆,圆的面积/正方形面积=π/4,(x,y)随机抛点无数次,在园内的数量/全部数量=π/4
#因此π = 4*在园内的数量/全部数量
def in_circle(x,y):
r = x * x + y * y
if r <= 1:
return True
else:
return False
def cal_pai(n):
in_num=0
all_num=0
for i in range(int(n)):
x, y = random.random(), random.random()
all_num += 1
if in_circle(x,y):
in_num += 1
pai = 4 * in_num / all_num
return pai
n = 1
while n != 0 :
n = input("请输入抛点次数(越大π的精度越高,输入0结束):")
print(f"π的计算结果为:{cal_pai(n)}")