一个取x并返回小于或等于2的最大幂的函数

时间:2018-10-14 23:27:18

标签: python

我正在尝试制作一个程序,该程序需要一个正数,并以小于或等于该数字2的最大幂返回它。

例如,

pow2(12)->8

我的代码有问题:

 import math
import random

def pow2(n):
    return 2**int(math.log(n,2))

pow2(12)

我的代码正在执行应做的事情吗?为什么不返回数字?

1 个答案:

答案 0 :(得分:2)

问题在于未将返回值分配给变量

import math
import random

def pow2(n):
    return 2**int(math.log(n,2))

x = pow2(12) # here
print(x)

或者,您可以

print(pow2(12))