脚踏实地的大梦想家 2021-04-22 08:55 采纳率: 66.7%
浏览 55
已结题

Python中计算问题

Python学习中执行代码段:

#Python计算1.01的3次方

#方法1:硬写
>>>1.01 * 1.01 * 1.01

#方法2:运用**进行运算
>>>1.01 ** 3

计算结果截图:

 

  • 写回答

4条回答 默认 最新

  • 天元浪子 Python领域优质创作者 2021-04-22 09:22
    关注

    两种计算方法的结果存在差异,是因为实现方式不同造成的。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
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月13日
  • 已采纳回答 4月5日