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
私はかなり近づいているように感じますが、再帰のすべてのインスタンスで適切にインクリメントされるように、「カウント」ステートメントをどこに置くかという問題に直面しています。重要な情報を省略した場合は、お気軽に大声で叫んでください。