首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将变量减少5%?

如何将变量减少5%?
EN

Stack Overflow用户
提问于 2017-03-26 06:38:43
回答 1查看 517关注 0票数 1

当一个人跑上斜坡时,他冲到他耗尽了能量,然后停下来休息一下,该函数返回他冲上斜坡直到他到达山顶的次数。每次他再冲一次,他就会损失5%。然而,当我运行这个程序时,它花费的时间太长了,并且没有返回任何东西。它应该返回19。

代码语言:javascript
复制
    def num_rushes(slope_height, rush_height_gain, back_sliding):
        current_height = 0
        rushes = 0
        while current_height < slope_height:
            current_height += rush_height_gain
            if current_height < slope_height:
                current_height -= back_sliding
            rushes += 1
            rush_height_gain = rush_height_gain * 0.95  
        return rushes

    ans = num_rushes(100, 15, 7)
    print(ans)
EN

回答 1

Stack Overflow用户

发布于 2017-03-26 07:11:08

发生的情况是,你的身高增益是恒定的(15),在循环过程中,只要你不在顶部,你就会向后滑落一些恒定的(7)。所以你会认为你只是慢慢地爬上斜坡到山顶,因为收益大于回落

然而,在循环的每一次迭代中,你都会将高度增益的值减少到它的值的95% (即每次迭代你的增益越来越少)。这很好,您将继续攀登,但是一旦高度增益值变得小于回滑值,您将继续滑入当前高度的负值,循环将永远不会退出

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43022771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档