我有一个while循环,它返回爬山所需的“匆忙”次数。山的大小是“坡度高度”,上升高度是“rush_height_gain”减去“back_sliding”。
下面的代码适用于:
ans = num_rushes(15, 10, 5)
print(ans)
打印 1
和
ans = num_rushes(100, 15,7)
print(ans)
打印 2
和
ans = num_rushes(10, 10, 9)
print(ans)
打印 12
但返回错误的答案
ans = num_rushes(100, 10, 0)
print(ans)
应该打印 10,但打印 9
我不确定这是为什么,任何帮助将不胜感激
def num_rushes(slope_height, rush_height_gain, back_sliding):
current_height = 0
rushes = 0
while current_height < slope_height:
if rush_height_gain == slope_height:
rushes+=1
return rushes
elif current_height < slope_height:
if current_height == slope_height:
return rushes
else:
a = rush_height_gain - back_sliding
current_height += a
if current_height == slope_height:
return rushes
elif current_height > slope_height:
return rushes
else:
rushes+=1
return (rushes)