Python:(递归)长度为5的马路,平均能停多少辆长度为1的车

题目

长度为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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_55638680

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值