我有一個while循環,它返回爬起山坡所需的'rush'數量。 山的大小是'坡高',高度上升是'rush_height_gain'減去'back_sliding'。while循環(Python)
下面的代碼適用於:
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)
應該怎麼辦?大多數人不想猜測。 – squiguy
您可以添加實際和預期的輸出嗎? – jpmc26
http://pythonfiddle.com/rushes-quiz-work/ – perreal