《“笨办法”学Python(第3版)》——习题3 数字和数学计算

简介:

本节书摘来自异步社区《“笨办法”学Python(第3版)》一书中的习题3,作者[美]Zed A. Shaw,王巍巍 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

习题3 数字和数学计算

每一种编程语言都包含处理数字和进行数学计算的方法。不必担心,程序员经常谎称他们是多么牛的数学天才,其实他们根本不是。如果他们真是数学天才,他们早就去从事数学相关的行业了,而不是写写广告程序和社交网络游戏,偷偷赚点小钱而已。

这个习题里有很多数学运算符号。我们来看一遍它们都叫什么名字。你要一边写一边念出它们的名字来,直到你念烦了为止。名字如下:

    • 加号
  • − 减号
  • / 斜杠
    • 星号
  • % 百分号
  • < 小于号
  • 大于号

  • <= 小于等于号
  • = 大于等于号

有没有注意到以上只是些符号,没有给出具体的运算操作呢?写完下面的练习代码后,再回到上面的列表,写出每个符号的作用。例如,+是用来做加法运算的。

ex3.py

1     print "I will now count my chickens:"
2     
3     print "Hens", 25 + 30 / 6
4     print "Roosters", 100 - 25 * 3 % 4
5     
6     print "Now I will count the eggs:"
7     
8     print 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6
9     
10     print "Is it true that 3 + 2 < 5 - 7?"
11     
12     print 3 + 2 < 5 – 7
13     
14     print "What is 3 + 2?", 3 + 2
15     print "What is 5 - 7?", 5 – 7
16     
17     print "Oh, that's why it's False."
18     
19     print "How about some more."
20     
21     print "Is it greater?", 5 > -2
22     print "Is it greater or equal?", 5 >= -2
23     print "Is it less or equal?", 5 <= -2

应该看到的结果

习题3 会话

$ python ex3.py 
I will now count my chickens:
Hens 30
Roosters 97
Now I will count the eggs:
7
Is it true that 3 + 2 < 5 - 7?
False
What is 3 + 2? 5
What is 5 - 7? -2
Oh, that's why it's False.
How about some more.
Is it greater? True
Is it greater or equal? True
Is it less or equal? False

附加练习

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比较一下,你就看出不同了。

相关文章
|
1月前
|
算法 索引 Python
使用Python实现PageRank计算
使用Python实现PageRank计算
|
1月前
|
存储 Python
python计算两个数的和
python计算两个数的和
|
1月前
|
Python
利用Python计算两点之间的距离
利用Python计算两点之间的距离
254 0
|
1月前
|
存储 自然语言处理 数据挖掘
Python:计算字符串中每个单词出现的次数
Python:计算字符串中每个单词出现的次数
|
8天前
|
Python Serverless API
Python风险价值计算投资组合VaR、期望损失ES
Python风险价值计算投资组合VaR、期望损失ES
23 0
Python风险价值计算投资组合VaR、期望损失ES
|
10天前
|
Python
[重学Python]Day 2 Python经典案例简单习题6个
[重学Python]Day 2 Python经典案例简单习题6个
15 0
|
18天前
|
算法 Python
78: 计算生日是星期几(python)
78: 计算生日是星期几(python)
|
26天前
|
Python
Python中的math和cmath模块:数学运算的得力助手
Python作为一种功能强大的编程语言,提供了丰富的数学运算功能。其中,math和cmath模块就是Python中用于数学运算的重要工具。math模块提供了基本的数学函数和常量,适用于实数运算;而cmath模块则提供了对复数运算的支持,使得Python在数学计算和工程应用中更加灵活和强大。
|
1月前
|
机器学习/深度学习 算法 数据可视化
Python语言的数学模块
Python语言的数学模块
|
1月前
|
Python
Python函数之计算规则图形的面积
Python函数之计算规则图形的面积
15 0