我正在定义此函数以查找最接近指定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