本节书摘来自异步社区《“笨办法”学python(第3版)》一书中的习题3,作者[美]zed a. shaw,王巍巍 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
每一种编程语言都包含处理数字和进行数学计算的方法。不必担心,程序员经常谎称他们是多么牛的数学天才,其实他们根本不是。如果他们真是数学天才,他们早就去从事数学相关的行业了,而不是写写广告程序和社交网络游戏,偷偷赚点小钱而已。
这个习题里有很多数学运算符号。我们来看一遍它们都叫什么名字。你要一边写一边念出它们的名字来,直到你念烦了为止。名字如下:
加号
− 减号
/ 斜杠
星号
% 百分号
< 小于号
大于号
<= 小于等于号
= 大于等于号
有没有注意到以上只是些符号,没有给出具体的运算操作呢?写完下面的练习代码后,再回到上面的列表,写出每个符号的作用。例如,+是用来做加法运算的。
<code>ex3.py</code>
应该看到的结果
<code>习题3 会话</code>
附加练习
1.每一行的上面使用#为自己写一个注释,说明一下这一行的作用。
2.记得习题0吧?用里边的方法运行python,然后使用刚才学到的运算符号,把python当做计算器玩玩。
3.自己找个想要计算的东西,写一个.py文件把它计算出来。
4.有没有发现计算结果是“错”的呢?计算结果只有整数,没有小数部分。研究一下这是为什么,搜索一下“浮点数”(floating point number)是什么东西。
5.使用浮点数重写一遍ex3.py,让它的计算结果更准确。(提示:20.0是一个浮点数。)
常见问题回答
为什么%是求余数符号,而不是百分号?
很大程度上只是因为设计人员选择了这个符号而已。正常写作时它是百分号没错,在编程中除法我们用了/,而求余数又恰恰选择了%这个符号,仅此而已。
%是怎么工作的?
换个说法就是“x除以y还剩余j”,例如“100除以16还剩4”。%运算的结果就是j这部分。
运算优先级是怎样的?
在美国,我们用pemdas这个简称来辅助记忆,它的意思是“括号(parentheses)、指数(exponents)、乘(multiplication)、除(division)、加(addition)、减(subtraction)”,这也是python里的运算优先级。
为什么/(除法)算出来的比实际小?
其实不是没算对,而是它将小数部分丢弃了,试试7.0 / 4.0和7 / 4比较一下,你就看出不同了。