第2课 计算圆周率——神奇计算器
2.1 交互模式简介
在 Python 软件安装完成之后,并没有在 Windows 系统的桌面上留下启动 Python 的快捷方式图标,这会给那些对计算机操作不太熟悉的初学者造成一点小麻烦——不知道从哪里启动Python软件。别担心,在Windows系统中,如果不知道某个程序在哪里,那么就从单击开始按钮开始吧!
打开 Windows 系统(以 Windows 10 为例)的开始菜单,单击所有程序——Python 3.7 IDLE(Python 3.7 64-bit ),如图1所示,将会启动Python软件的IDLE环境,如图2所示。

图1 从“开始”菜单启动Python的IDLE环境

图2 Python 交互模式窗口
IDLE 是一个 Python 的集成开发和学习环境,包括 Python Shell fll Python Editor 两部分。其中,Python Shell 是一个 Python 解释器的外壳程序,提供逐行输入和执行 Python 代码的交互模式,非常便于学习Python编程;Python Editor 是一个Python代码编辑器,提供撤销和恢复功能、代码高亮显示、自动缩进、关键字提示和自动完成等诸多功能。
如图2所示,这是 IDLE 环境启动后显示的 Python Shell 窗口,也称为Python 交互模式窗口。在这个窗口中,有一个由3个尖括号 >>> 组成的Python 提示符( Prompt ),它表示 Python 环境已经准备就绪,等待输入Python 指令。
在 >>> 提示符的末尾紧跟着一个闪烁的输入光标,它提示当前可以在此输入Python 代码;当按下回车键时,输入的代码就会立即执行,执行结果会显示在下一行,同时在执行结果的下一行会产生一个新的 >>> 提示符。
如果 Python Shell 窗口失去焦点,则需要将鼠标指针定位到最后一个〉"提示符后面,重新获得输入焦点,这样在闪烁的光标处才能输入 Python指令。
2.2 数学计算
计算机,顾名思义就是会计算的机器,进行数学计算是它最基本的功能。在 IDLE 环境中,可以在交互模式下进行数学计算,把 Python 当作一个计算器来使用。
如图3所示,在 Python Shell 窗口的 >>> 提示符后面输入1 + 1,再按下回车键,加法算式的计算结果就会立即显示在下一行。
>>> 1 + 1
2
>>>
图3 在交互模式下进行数学计算
接着,在最后一个 >>>提示符后面输入8 - 2,再按下回车键,减法算式的计算结果也会立即显示出来。
>>> 8 - 2
6
>>>同样地,还可以进行乘法运算,比如 2 X 4 。这里需要注意的是,在 Python 等编程语言中,通常使用星号( * )作为乘法运算符。在>>>提示符后面输入 2 * 4 ,再按下回车键,可立即得到计算结果。
>>> 2 * 4
8
>>>如果把英文字母 X 作为乘法运算符使用,则会显示错误信息。例如,
>>> 2 x 4
SyntaxError: invalid syntax
>>>不用担心,重新输入正确的算式就可以了。 在 Python 等编程语言中,通常使用斜杠(/)作为除法运算符。比如,要进行 10 ➗ 2 的除法运算,可在 >>> 提示符后面输入 10 / 2 ,再按下回车键,可立即得到计算结果。
>>> 10/2
5.0
>>>10能够被2整除,结果应该是 5 ,而这里得到的结果怎么是一个小数呢?这是因为在 Python 中,斜杠(/)运算符是用来进行浮点数的除法运算的,其结果自然就是浮点数(即小数)。 如果要进行整数的除法运算,需要使用两个斜杠(//)作为运算符。例如,
>>> 10//2
5这样就得到了我们预期的整数除法的结果。
在 Python 中,不仅能进行简单的算术运算,还能进行混合运算,并通过小括号改变运算的优先级。在数学中,可以使用小括号、中括号和大括号等不同类型的括号来调整算式中各组成部分的优先级;而在 Python 编程中,只使用小括号改变运算的顺序。
例如,要计算 3 + 4 + (2 X 3 X 4) ,那么在>>>提示符后面输入 3 + 4/(2 * 3 * 4) ,再按下回车键,就可得到计算结果。
>>> 3+4/(2* 3* 4)
3.1666666666666665
再输入3 + 4/(2 * 3 * 4)-4/(4 *5 * 6),并按回车键。
>>> 3+4/(2* 3* 4)一 4/(4* 5* 6)
3.1333333333333333
>>>【提示】:按下键盘上的向上或向下方向键,可以查看并使用之前输入的内容。再输入 3 + 4/(2 * 3 * 4)-4/(4 *5 * 6)+4/(6 * 7 * 8) ,并按回车键。
>>>3+4/(2* 3* 4) 一 4/(4* 5* 6)+4/(6* 7* 8)
3.145238095238095
>>>上面这个数字看上去有点熟悉,好像是……
你猜对了,它就是兀!这其实是在利用尼 拉坎特哈级数来计算圆周率的近似值。
尼拉坎特哈级数是印度数学家尼拉坎特哈发现的一个可用于计算圆周率兀近似值的 无穷级数。该级数的展开公式如下:
$$
\pi = 3 + \frac{4}{2 * 3 * 4} - \frac{4}{4 * 5 * 6} + \frac{4}{6 * 7 * 8} - \frac{4}{8* 9 * 10} + \frac{4}{10 * 11 * 12} - \frac{4}{12 * 13 * 14} …
$$
该公式的计算从3开始,依次交替进行加法和减法运算,参与运算的分数以4为分子、3个连续整数的乘积为分母构成。在每次迭代时,3个连续整数中的最小整数是上次迭代时3个整数中的最大整数。这个级数的收敛比较快,反复计算若干次,结果就与 π 值非常接近。
尽管如此,使用手丁输入算式计算圆周率,仍然比较麻烦。在学习了后面的课程循环结构的程序设计之后,就可以编写程序自动进行计算,充分发挥计算机的优势。
打开链接,练习一下吧。