![每个人的Python:数学、算法和游戏编程训练营](https://wfqqreader-1252317822.image.myqcloud.com/cover/137/44510137/b_44510137.jpg)
上QQ阅读APP看书,第一时间看更新
4.3.3 编程实现——判断一个数是否为某数的幂次方
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-P88_15375.jpg?sign=1739040270-dJoWv009p9VHLiIYtZTRM8IMCkqc4Af4-0-c554d4086f1873c7a82ae0046b1022d5)
在数学中,求n个相同的数的乘积的运算被称为乘方运算,其运算的结果被称为幂。现在,我们给定一个整数,尝试编写一个函数来判断它是不是4的幂次方。例如,输入16,函数的执行结果为True,输入5,函数的执行结果为False。
本题的解题思路很简单,要判断输入的数是否符合条件,我们只需要将其与4的幂次方不断地进行对比即可,直到找到符合条件的幂次方或者大于原数即结束循环。
示例代码如下:
![](https://epubservercos.yuewen.com/33C5B1/23721678209556606/epubprivate/OEBPS/Images/Figure-T89_29513.jpg?sign=1739040270-H50HW2GeQSAqf9VK00d9APiLcsUuUG4H-0-ec143a2a70c991429deab88d6e2d8149)
如上所示,其实题目修改为判断输入数是不是其他数字的幂次方也非常方便,例如将题目中的4的幂次方修改为2的幂次方,只需要将代码中变量s初始化的值修改为2,并在每次累乘时都乘以2即可。更通用一些,我们可以将变量s的值使用参数进行传递,这个函数的功能就更加强大了。