该函数取正整数n并将其除以2(使用整数除法),直到达到1.输出应该是该值除以的次数。到目前为止,我的代码是
def keep_halving(x):
i=1
for i in range(x):
if x//2==0:
return i
该函数应如何运行的一个例子是
>>>keep_halving(4)
2
答案 0 :(得分:2)
你可以试试这个:
n = int(input("enter number"))
while n > 1:
n //= 2
print (n)
输入:128
输出:
enter number128
64
32
16
8
4
2
1
这将使用while
循环连续除以2,并在n
变为1时停止。
编辑:我读得太快了。这是更新的代码:
count = 0
n = int(input("enter number"))
while n > 1:
n //= 2
print (n)
count +=1
print (count)
每次count
除以2时,这会在n
上添加一个。
输入:128
输出:
enter number128
64
32
16
8
4
2
1
7