虽然我们已经快进入AI时代了。但是至少在目前为止,计算机还只是没有自主意识和思考能力的机器。因此,关于数学运算的优先顺序,还需要我们还告诉机器怎么做。
在这一课的内容中,我们会介绍一些使用Python进行数学运算的常见错误,以及如何采用正确的方式。
好了,首先打开Jupyter Notebook,具体的操作就不再重复了。
接下来,我们想要计算的是,让5减去1,然后乘以2。
那么在Python中应该怎么表达呢?
5 - 1 * 2
是这样的吗?让我们试试看。咦?结果似乎有点不对。
大家都知道刚才的计算,我们希望看到的结果是8,但这里输出的结果是3。
问题出在哪儿呢?
在Python中,进行四则运算的顺序不是按照我们日常生活中所理解的那样,从左到右依次执行,而是遵循所谓的BODMAS顺序。
每个字母代表一种特定的运算,而排在BODMAS前面的运算将优先运行。
所谓的B代表Brackets,或者说括号()
注意是半角的括号,而不是中文全角的括号。
所谓的O代表Order,这个指的是幂运算或开方运算。
D代表Division,也就是除法。
M代表Multiplication,也就是乘法。
A代表Addition,也就是加法。
S代表Subtraction,也就是减法。
因为Python遵循的是BODMAS运算顺序,因此,如果我们使用下面的表达式:
5 - 1 * 2
在Python中的运算顺序是:
1.首先计算1*2,得到2
2.然后计算5减去2,得到3.
那么,如果我们想得到正确的结果,应该如何运算呢?
很简单,既然在BODMAS中括号排在第一,那么我们可以在 1 * 2的外面加一个括号:
(5 - 1) * 2
且慢,为什么会提示这种奇怪的错误呢?
注意我刚才提到过,我们在Python语言中使用括号时,特别是代表BODMAS运算的括号时,一定要用英文半角。重新输入看看:
好了,现在一切正常了,我们得到了希望看到的运算结果。
所以,这里有一个小小的技巧,如果你不确定BODMAS的运算顺序,那么只需要把需要优先运算的内容放到括号里面,就能保证不会犯一些低级错误了~
好了,本课的内容就到此结束了。
在下一课的内容中,我们将开始学习如何开发第一个真正意义上的Python小项目。让我们下一课再见~
联系方式:
个人微信:iseedo
Github:eseedo/AICoursegithub.com