私は現在、宇宙船が一定の距離を移動するのにかかる時間を計算するコードを作成しようとしています。 1メートル未満の距離が残っている場合は、1分以上かかるだけです。Python再帰コード(初心者)
def space_time(d,t=0):
if d <= 1:
print("- It takes 1 minute to travel", d, "meters")
elif d > 1:
t = t + 1
return space_time(d/2, t)
else:
t = t + 1
print("- ", t, "minutes to travel", d, "meters")
(space_time(10))
出力:
- It takes 1 minute to travel 0.625 meters
Process finished with exit code 0
が、私は私の問題は、このための私の考えは、関数は、それが意味でしょうトンに1を追加します繰り返されるたびたのt = tの+ 1であることがわかります1分。しかし、現在は動作していません。どんな助けでも大歓迎です。
数学的には、それはあなたのコードが説明によって、または出力を示すことによって動作していない理由を明示してください全体の距離 – inspectorG4dget
を移動することは決してないだろう。また、コード内のロジックを再評価する必要があります。たとえば、if文とelif文の比較は、両方ともd <= 1です。 – PrestonM
距離が1未満になるまで、もう1分しかかかりません。 – Sam