为什么我的代码不占大数?

时间:2016-10-02 17:20:38

标签: python-3.x

我正在定义此函数以查找最接近指定num的base ** exp的exp。唯一的问题是,如果你为num。

输入一个大值,它就不起作用

如果你输入nearest_power(2,192.0),你应该得到7但是代码什么都不返回。

def nearest_power(base, num):

   exp = 0

   while base**exp < num:
       exp += 1

   if num < base:
       return 0    
   elif num - base**(exp-1) < base**exp - num:
       return exp - 1
   elif base**exp - num < num - base**(exp-1):
       return exp
   else:
    return exp - 1

0 个答案:

没有答案