01. 算术

算术运算符

我们将从数字开始学习 Python。你可以滚动到下方使用代码编辑器来自己尝试这些示例,并点击测试答案按钮来运行代码 ,运行结果将显示在下方的窗口中。在 Python 中,你可以使用基础的数学运算符,Python 将遵循常规数学规则来运行算数计算。

下面是一个 Python 计算:

>>> print(3 + 1)
4

上面这行代码可以打印出结果 4。我们也可以在不打印的情况下完成该计算,但这样一来就无法看到结果。

>>> 3 + 1

在这些示例中, >>> 是 Python 提示符。我们将使用这个符号来区分输入(提示符后面的内容)与下面一行的输出。

Python 中表示加法和减法的符号就是我们通常使用的 + - ,乘法是星号 * (注意,不是 x ),除法是斜杠 / ,数学括号是圆括号 ( )
在使用 print 打印计算结果时,我们也必须在调用内容两侧添加括号,如:

>>> print(1 + 2 + 3 * 3)
12
>>> print((1 + 2 + 3) * 3)
18

以上代码证明了括号的重要性!

我们也可以使用更高级的运算。比如,你可以用两个星号 ** 计算出一个数字的乘方。

>>> print(3**2)
9

注意:还有一个运算符有时被误认为是幂运算符,即插入符号 ^ ,但这并不是某些程序员期望的幂运算。事实上,该符号执行一个更加复杂的运算,也就是 按位异或 。如果你习惯于使用插入符号,可能会不小心写错代码,最终导致结果混乱!

另一个有用的运算符号是 % —— 即模运算。使用该符号将计算数字一除以数字二的余数,比如:

>>> print(9 % 2)
1

你也可以使用符号 // 进行整除。它将一个整数除以另一个整数,但并不给出准确结果,而是向下取整返回商的整数部分。(注意:即使答案为负数也可取商的整数部分。)

>>> print(15 // 4)
3
>>> print(16 // 4)
4
>>> print(-5//4)
-2

注意:Python 2 的除法运算 ( / ) 有别于 Python 3。由于该课程主要针对 Python 3,所以我们现在不对这些区别做详细讨论,而是重点学习 Python 3 中的除法运算。

Arithmetic Playground

请在下面练习算术运算,以体验 int 型字符(整数)的计算,并使用 print() 函数来查看运算结果。

请注意,下方的代码中有一条新的语法,即 "#"。"#" 后面的文本是一个注释,用于注解其余代码。在运行代码时,Python 解释器会忽略注释,并不执行其中的内容。

Start Quiz:

# Test this code to see the results, then write your own expressions
print(3 + 1)

print(1 + 2 + 3 * 3)
print((1 + 2 + 3) * 3)
print(3**2)
print(9 % 2)

练习:平均电费

现在我们尝试一下在 Python 中进行数学运算吧!

我在过去三个月的电费分别是 $23、$32 和 $64 。那么我这三个月的平均月电费是多少?请编写一个表达式来计算平均值,并使用 print() 查看结果,最后提交答案。

Start Quiz:

# Write an expression that calculates the average of 23, 32 and 64.
# Place the expression in this print statement.
print()

答案:平均电费

Python 中的算术表达式

算术和空格

大家可能已经注意到在 Python 的单行代码中,空格并不会对代码的运行造成影响。例如,

>>> print(4+5)
9

而以下代码将给出完全相同的输出:

>>> print (                 4+  5)
9

但这并不意味着这些代码都一样好。下面是一些有用的写法指导:

  • 当调用像 print 这样的函数时,将左括号直接放在函数名称之后,如 print(8)
  • 不要在括号内添加多余空格,应为 print(3*7)
  • 如果将不同优先级的运算符(如乘法和减法)混合在一起,为了使代码更容易阅读,可能需要在较低优先级(本例中为加法和减法)运算符周围添加空格。例如 1 + 2*3
  • 不要使代码行过长,否则会很难理解。人们通常将一行代码的长度限制在 79 或 99 个字符以内。如果你觉得需要编写更长的代码行,请考虑重写并简化代码。

这些规定出自 “Python 开发者指南”,其中包含一个名为 PEP 8 的风格指南。如果目前不了解 PEP 8 的所有内容,也不要担心。

为什么这很重要?
虽然代码格式并不影响其 运行 ,但会影响代码 阅读 。遵循代码风格的标准指南有助于使大多数代码更易读。因此,即使你编写的代码只有一行,我们也建议你遵循指南规范。从长远来看,它将帮助你编写可读性更高的代码。在每次学习新内容时,你可以参考 PEP 8,以编写风格规范的 Python 代码。

练习:计算和格式

在这个练习中,大家将帮助一个泥瓦工进行计算。他需要为地板的两个部分铺上瓷砖,一部分是** 9 砖宽, 7 砖长 ,另一部分是 5 砖宽, 7 砖长**,而一包瓷砖装有 6 片砖。

  1. 这个泥瓦工一共需要多少片瓷砖?
  2. 他购买了** 17 包瓷砖,每包装有 6 片瓷砖**,最后还能剩下多少片瓷砖?

编写代码时,请注意遵循上面提到的格式指南。

Start Quiz:

# Fill this in with an expression that calculates how many tiles are needed.
print()

# Fill this in with an expression that calculates how many tiles will be left over.
print()

答案:计算与格式

print(9*7 + 5*7)

print((17*6) - (9*7 + 5*7))

代码格式

下面哪一行代码的格式是正确的?你将如何改善格式杂乱的代码?

SOLUTION:
  • `print((17 - 6)%(5 + 2))`
  • `print(4/2 - 7*7)`