求 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 许可协议

阅读 424
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 翻译
子站问答
访问
宣传栏