闷— 2021-11-08 21:53 采纳率: 100%
浏览 25
已结题

我不明白,不理解,不清楚,为什么(இдஇ; )

我自己按我的想法写的Python
from random import *
def stopdrivelow(x):
low = 0
high = x
if high - low < 5:
return 0
else:
x = randint(low,high - 5)
return stopdrivelow(x) + 1
def stopdrivehigh(y):
high = 100
low = y
if high - low < 5:
return 0
else:
y = randint(low + 5,high)
return stopdrivehigh(y) + 1
x = randint(0,95)
y = x + 5
num1 = stopdrivelow(x)
num2 = stopdrivehigh(y)
print(num1 + num2)
输出结果都不超过10

其他同学的Python:
from random import *
def parking(road_start,road_end):
if road_end - road_start < 5:
return 0
else:
start_point = randint(road_start, road_end - 1)
return parking(road_start, start_point) + 1 + parking(start_point + 1, road_end)
t = parking(0,100)
print(t)
输出结果在33左右
可能是我的逻辑不对,我和这位同学的结果相差甚远,但我找不出哪里不对(#-.-)

  • 写回答

1条回答 默认 最新

  • 提着脑袋去学习 2021-11-09 12:33
    关注
    
            #return parking(road_start, start_point) + 1 + parking(start_point + 1, road_end)
            return parking(road_start+1, start_point)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月4日
  • 已采纳回答 11月26日
  • 创建了问题 11月8日