def rwSteps(start, low, hi):
n=0
while low <= start <= hi:
print (start-low-1)*" " + "#" + (hi-start)*" ", n
start+=random.choice((-1,1))
n+=1
return "%d steps" % (n-1)
print rwSteps(10, 5, 15)
上面的函数是我需要以递归方式重写的函数。该函数接受一个起点整数,以及一个低点和一个高点。从起点开始,函数应该从起点随机执行 +1 或 -1,直到达到上限或下限。这是我到目前为止所拥有的。
def RandomWalkSteps(start, low, hi):
count = 0
count = count + 1
if(low <= start <= hi):
count = count + 1
start+=random.choice((-1,1))
newStart = start
RandomWalkSteps(newStart, low, hi)
return count
我觉得我已经很接近了,但是我遇到了将“count”语句放在哪里的麻烦,以便它在每个递归实例中正确递增。如果我遗漏了任何重要信息,我们将不胜感激任何帮助并随时对我大喊大叫。