题目
长度为5的马路,平均能停多少辆长度为1的车
思路
1、先分析问题,平均能停多少辆的意思是:一共停满了2000次,每一次能停下的车辆数相加除以2000就可以得到平均能停的车辆数。
2、使用递归函数实现停满一次所能停下的车辆数
3、使用while函数进行试验次数的控制,以及对车辆数的累加。
代码
import random
n=0
result=0
def park_randomly(low,high):
if high-low<1:
return 0#停不下就返回0
else:
x=random.uniform(low,high-1)#在(0,4)之间使用随机函数获取车辆停的位置,uniform的取值范围包含左右两边。
return 1+park_randomly(low,x)+park_randomly(x+1,high)#递归实现一次所能停下的车辆数
while n<2000:#对实验次数进行控制
s=park_randomly(0,5)#得到一次的车辆数
result+=s#对2000次实验的车辆数进行累加
n+=1#控制n递增
print("平均停车辆数:",result/n)#得到平均车辆数
输出结果
平均停车辆数: 3.5035