首页 > 解决方案 > 一个函数,它接受 x 并返回小于或等于数字的 2 的最大幂

问题描述

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

例如,

pow2(12)->8

我的代码有问题:

 import math
import random

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

pow2(12)

我的代码在做它应该做的事情吗?为什么不返回一个数字?

标签: python

解决方案


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

import math
import random

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

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

或者你可以

print(pow2(12))

推荐阅读