求 n 可以被分成两半的次数的函数

新手上路,请多包涵

基本上,我需要一个将 n 除以二并返回可以完成的次数的函数。

到目前为止的编码:

 def div(n):
    while n >= 0:
        n / 2
    return n

我知道我必须使用 while 循环这一事实,但我对我的第三行代码没有信心。我究竟做错了什么?

例子:

 >>> div(4)
2
>>> div(7)
2

原文由 97834657647563 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 443
2 个回答

/ 不执行赋值。既然你要返回 n 而不是改变它的价值,我认为你应该从那里开始。您的其他提示是 = 和 %。

原文由 Thomas Dignan 发布,翻译遵循 CC BY-SA 3.0 许可协议

整数 n 可以除以 2 : floor(log(n)/log(2)) 次。

原文由 Eelvex 发布,翻译遵循 CC BY-SA 2.5 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏