一、准备出发

安装 Python

安装 Python 非常容易。从官网直接下载安装包,按照提示一路下一步完成安装。本课程采用最新版的python3教学。

启动 Python

启动 Python 有两种方法。一种方法是从 IDLE 启动:

在 Start(开始)菜单中,可以看到“Python 3.x”下面的“IDLE (Python GUI)”。点击这个选项,会看到 IDLE 窗口打开。

另一种方式是从终端启动:

Ctrl + R 打开快速启动,键入 cmd 命令,然后点击回车键,就会看到终端窗口打开。
在终端界面键入 python,看到 >>> 提示符,python就启动了。

>>> 是 Python 提示符(prompt)。提示符是程序等待你键入信息时显示的符号。这个 >>> 提示符就是在告诉你,Python 已经准备好了,在等着你键入 Python 指令。

执行指令

不管是 IDLE 启动,还是从终端启动 python,在 >>> 提示符的末尾光标后键入:

  1. print("Hello World!")

我们给 python 的第一个指令就完成了,它会响应你的指令并输出:

  1. Hello World!

学习编程时总有这样一个传统:刚开始都是让计算机显示“Hello World!”。我们也会沿袭这个传统,欢迎来到编程世界!

计算器

计算机很擅长算术运算。利用计算机,超大数的数学计算也能完成。

  1. >>> print(2345 * 6789)
  2. 15920205
  3. >>>
  4. >>> print(1234567898765432123456789 * 9876543212345678987654321)
  5. 12193263200731596000609652202408166072245112635269
  6. >>>

除了数学计算,计算机擅长的另一件事就是反复地做事情。

编写自己的第一个程序

程序是多个指令集合在一起。所以下面就来创建我们的第一个 Python 程序吧。在编辑器中键入代码,给文件命名为 pizza.py 后保存到你的电脑磁盘中

  1. print("I love pizza!")
  2. print("pizza " * 20)
  3. print("yum " * 40)
  4. print("I'm full.")

运行你的程序

用 IDLE 打开刚刚创建的 pizza.py 文件,在菜单中找到运行,就可以执行你的程序了。
Python 初探 - 图1

这个程序确实没太大用处。不过起码你能让计算机听从你的号令了。随着学习的深入,我们的程序会越来越有意思。

调试错误

如果程序中出现错误无法运行,怎么办呢?可能会发生两种不同类型的错误。

语法错误

IDLE 在尝试运行程序前会对程序做一些检查。如果 IDLE 发现一个错误,这往往是一个语法错误(syntax error)。语法就是一种编程语言的拼写和文法规则,所以出现语法错误意味着你键人的某个内容不是正确的 Python 代码。

IDLE 的编辑器会(用红色)突出显示它认为出错的位置。也许问题不会恰好出现在红色显示的位置,不过应该很接近。

运行时错误

可能发生的第二种错误是运行程序之前 Python (或IDLE)无法检测出来的错误。这种错误只是在程序运行时才会发生,所以被称为运行时错误(runtime error)。

Traceback 开头的代码行表示错误消息开始。下一行指出哪里发生了错误,这里会给出文件名和行号。然后显示出错的代码行,这可以帮助你找到代码中哪里出了问题。错误消息的最后一部分会告诉你 Python 认为存在什么问题。对编程和 Python 有了更多了解之后,就更容易理解这个消息是什么意思了。

猜数字游戏

下面来试一个更有意思的程序。这个程序的基本过程是:

  1. 由程序随机选取秘密数。
  2. 用户输入他猜的数。
  3. 程序根据秘密数检查用户猜的结果:太大还是太小?
  4. 用户不断尝试,直到猜出这个数,或者用完所有机会。
  5. 猜到的数与秘密数一致时,玩家获胜。 ```python

    !/usr/local/bin/env python3

    encoding: utf-8

    import random

secret = random.randint(1, 99) guess = 0 tried = 0

print(“AHOY! I’m the Dread Pirate Roberts, and I have a secret!”) print(“It is a number from 1 to 99. I’ll give you 6 tries. “)

while guess != secret and tried < 6: guess = int(input(“What’s your guess? “)) if guess < secret: print(“Too low, you lazy dog!”) elif guess > secret: print (“Too high, landlubber!”) tried = tried + 1

if guess == secret: print(“Yeah! You got it! Found my secret, you did it!”) else: print(“No more guesses! Better luck next time, boy!”) print(“The secret number was”, secret)

  1. 运行结果示例:<br />![](/api/filetransfer/images?url=https%3A%2F%2Fuploader.shimo.im%2Ff%2FGl3KyNM0ZZAM7rwM.png!thumbnail&sign=203ac5a446e23356da13ebffa34677c480167c6b5cf1a77d45873a0ff34fba21#align=left&display=inline&height=340&margin=%5Bobject%20Object%5D&originHeight=516&originWidth=1132&status=done&style=stroke&width=746)<br />后面我们会学习有关 `while、if、else、elif` 和 `input` 指令的所有内容。先大致了解了这个程序的基本过程,现阶段手动把整个程序键入到文件并运行起来,是最好的学习方式。
  2. <a name="Revision"></a>
  3. ## Revision
  4. - 安装了 Python;
  5. - 学习了如何启动IDLE;
  6. - 了解了交互模式;
  7. - 交给 Python 一些指令来执行;
  8. - 看到了 Python 知道如何完成算术运算(包括非常大的数) ;
  9. - 启动 IDLE 文本编辑器键人你的第一个程序;
  10. - 运行你的第一个 Python 程序;
  11. - 了解错误消息;
  12. - 运行你的第二 Python 程序:猜数游戏。
  13. <a name="ffa597b0"></a>
  14. ## 测试题
  15. 1. 如何启动IDLE ?
  16. 2. `print` 的作用是什么?
  17. 3. Python 中表示乘法的符号是什么?
  18. 4. 启动运行一个程序时 IDLE 会显示什么?
  19. 4. 运行程序又叫做什么?
  20. <a name="2d60f2d2"></a>
  21. ## 动手试一试
  22. 1. 在交互模式中,使用 `Python` 计算一周有多少分钟。
  23. 1. 编写一个简短的小程序,打印3行:你的名字、出生日期,还有你最喜欢的颜色。打印结果应该类似这样:
  24. ```shell
  25. My name is Pitt.
  26. I was born July 7,1986.
  27. My favorite color is red.

保存这个程序,然后运行。如果程序没有像你期望的那样运行,或者给出了错误消息,试着改正错误,让它能够正确运行。

二、基本运算

操作符

数学运算:使用加号(+)完成加法,使用星号(*)完成乘法,使用减号(-)来做减法,使用前斜杠(/)表示除法。

  1. >>> print(3/2)
  2. 1.5
  3. >>>
  4. >>> print(3//2)
  5. 1

操作符(operator)就是会对它两边的东西有影响或者有“操作”的符号。这种影响可能是赋值、检查或者改变一个或多个这样的东西。

  1. myNumber + yourNumber
  2. 操作数 操作符 操作数

完成算术运算的 + - * / // % ** 都是操作符。所操作的东西称为操作数(operand)。

指数 - 幂

如果把 3 自乘 5 次,就叫“3 的指数为 5”,也就是“3 的 5 次幂”。Python 用一个双星号表示指数或者将一个数自乘为一个幂。

  1. >>> print(3 * 3 * 3 * 3 * 3)
  2. 243
  3. >>> print(3 ** 5)
  4. 243

取余 - 求余数

如果两个数不能整除,最后会得到一个余数(remainder)。7 / 2 的答案中有一个商(quotient),在这里就是 3,还有一个余数(remainder),这里的余数是 1。

  1. 7 / 2 = 3 #余数是1

如果在 Python 中将两个整数相除,它会给你商。不过余数呢?Python 有一个特殊的操作符来计算整数相除的余数。这称为取余(modulus)操作符,这个符号是百分号(%)。

  1. >>> print(7 % 2)
  2. 1
  3. >>> print(7 / 2)
  4. 3.5
  5. >>> print(7 // 2)
  6. 3

注:程序中需要的 99% 的操作符,就是这两个操作符再加上前面刚讲的 4 个基本操作符。

运算顺序

Python 使用的顺序与你在数学课上学到的(或者将要学到的)规则完全相同:指数运算最优先,然后是乘除,再后面是加减运算。

如果希望改变运算顺序,先完成某个运算,只需要在它两边加上括号(圆括号)。

  1. >>> print(2 + 3 * 4)
  2. 14
  3. >>> print((2 + 3) * 4)
  4. 20

非常大 / 非常小

Python 会用一种稍微不同的方式显示非常大的数。

  1. >>> print(9938712345656.34 * 4823459023067.456)
  2. 4.793897174132799e+25

这个 e 是计算机中显示非常大或非常小的数时采用的一种方法。这叫做E记法(E-notation)。处理非常大(或非常小)的数时,要把所有数字以及小数位都显示出来可能很费劲。

这种数在数学和科学领域经常出现。例如,如果一个天文程序要显示从地球到 AlphaCentaur 星的公里数,可能会显示为 300000000000000 或者 38 000 000 000 000 000 (38后面有15个0)。不论哪种方式,数完所有这些0都会让你累得够呛。

E记法中,这个数要写作 3.8E16 或者 3.8e16。读作“3.8乘以10的16次幂”或者简读作“3.8e16”。这里假设指数是10的幂。这就等同于写成3.8 x 10。

对于非常小的数,如 .000000000001752,可以使用一个负指数。科学计数法会写作 1.752X10,E记法会写作1.752e-13。负指数表示要把小数点向左移而不是向右移。

思考:指数与E记法

  1. >>> print(3**5) //以3为底
  2. 243
  3. >>> print(3e5) //以10为底
  4. 300000.0

Revision

  • 用 Python 如何完成基本数学运算。
  • 整数和浮点数。
  • ˆˆ求幂(自乘得到一个幂)。
  • ˆˆ如何计算取余(余数)。
  • ˆˆE 记法的有关内容。

测试题

  1. Python 中乘法使用哪个符号?
  2. Python 计算 8 // 3 的答案是什么?
  3. 怎么得到 8 / 3 的余数?
  4. Python 中计算 6 * 6 * 6 * 6 的另一种做法是什么?
  5. 采用 E 记法,17 000 000 要写作什么?
  6. 4.56e–5 如果按常规的写法是什么(不是 E 记法)?

动手试一试

使用交互模式或者编写一个小程序解决下面的问题。

  1. 3 个人在餐厅吃饭,想分摊饭费。总共花费 35.27 美元,他们还想留 15% 的小费。每个人该怎么付钱?
  2. 计算一个 12.5m × 16.7m 的矩形房间的面积和周长。
  3. 写一个程序,把温度从华氏度转换为摄氏度。转换公式是 C = 5 / 9 * (F - 32)。 (提示:当心整除问题!)
  4. 你知道怎么计算坐车去某个地方需要花多长时间吗?相应的公式(用文字表述)是“旅行时间等于距离除以速度”。编写一个程序,计算以 80 km/h 的速度行驶 200 km 需要花多长时间,并显示答案。