Python学习中执行代码段:
#Python计算1.01的3次方 #方法1:硬写 >>>1.01 * 1.01 * 1.01 #方法2:运用**进行运算 >>>1.01 ** 3
计算结果截图:
收起
两种计算方法的结果存在差异,是因为实现方式不同造成的。a**b,并非b个a相乘,因为b可以是任意实数。比如:
>>> 1.01**(0.5) 1.004987562112089 >>> 1.01**(-0.5) 0.9950371902099892
实际上,a**b是通过函数pow(a,b)完成的,而pow则是运用对数计算。
>>> import math >>> math.exp(3*math.log(1.01)) # 以e为底 1.0303010000000001
报告相同问题?