企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 习题 1: 第一个程序 你应该在练习 0 中花了不少的时间,学会了如何安装文本编辑器、运行文本编辑器、以及如何运行命令行终端,而且你已经花时间熟悉了这些工具。请不要跳过前一个练习的内容直接进行下面的内容,这也是本书唯一的一次这样的警示。 将上面的内容写到一个文件中,取名为 ex1.py。这个命名方式很重要,Python 文件最好以 .py 结尾。 <table class="highlighttable"><tbody><tr><td class="linenos"> <div class="linenodiv"> <pre>1&#13; 2&#13; 3&#13; 4&#13; 5&#13; 6&#13; 7</pre> </div> </td> <td class="code"> <div class="highlight"> <pre>print "Hello World!"&#13; print "Hello Again"&#13; print "I like typing this."&#13; print "This is fun."&#13; print 'Yay! Printing.'&#13; print "I'd much rather you 'not'."&#13; print 'I "said" do not touch this.'&#13; </pre> </div> </td> </tr></tbody></table> 如果你使用的是 Mac OSX 下的 TextWrangler,那你的文本编辑器大致是这个样子: ![_images/osx_textwrangler.png](https://box.kancloud.cn/2015-12-14_566e5e1d31231.png) 如果你在 Windows 下使用 Notepad++,那你看到的应该是这个: ![_images/win_notepadpp_ex1.png](https://box.kancloud.cn/2015-12-14_566e5e1d49066.png) 别担心编辑器长得是不是一样,关键是以下几点: 1. 注意我没有输入左边的行号(1-7)。这些是额外打印到书里边的,以方便对代码具体的某一行进行讨论。例如“参见第 5 行……”你无需将这些也写进 python 脚本中去。 1. 注意我截图中开始的 print 语句,它和代码范例中是完全一样的,而且是精确的完全相同,不仅仅是表面相似而已。要让这段脚本正常工作,代码中的每个字符都必须完全匹配。当然,显示的颜色可能是不同的,颜色并不重要,只有字符才是重要的。 然后你需要在命令行终端通过输入以下内容来运行这段代码: ~~~ python ex1.py ~~~ 如果你写对了的话,你应该看到和下面一样的内容。如果不一样,那就是你弄错了什么东西。不是计算机出错了,计算机没错。 ### 你应该看到的结果 在 Mac OSX 的 Terminal 下面你应该看到以下内容: ![_images/osx_terminal_ex1.png](https://box.kancloud.cn/2015-12-14_566e5e1d5cd0a.png) 在 Windows 的 PowerShell 下你应该看到这些: ![_images/win_powershell_ex1.png](https://box.kancloud.cn/2015-12-14_566e5e1d6be2f.png) 你也许会看到 pythonex1.py 前面显示了不同的用户名,计算机名,以及其他一些信息,这不是问题,重要的是你输入了命令,而且看到了相同的输出。 如果你看到类似如下的错误信息: <table class="highlighttable"><tbody><tr><td class="linenos"> <div class="linenodiv"> <pre>1&#13; 2&#13; 3&#13; 4&#13; 5</pre> </div> </td> <td class="code"> <div class="highlight"> <pre>$ python ex/ex1.py &#13; File "ex/ex1.py", line 3&#13; print "I like typing this.&#13; ^&#13; SyntaxError: EOL while scanning string literal&#13; </pre> </div> </td> </tr></tbody></table> 这些内容你应该学会看懂的,这是很重要的一点,因为你以后还会犯类似的错误。就是我现在也会犯这样的错误。让我们一行一行来看。 1. 首先我们在命令行终端输入命令来运行 ex1.py 脚本。 1. Python 告诉我们 ex1.py 文件的第 3 行有一个错误。 1. 然后这一行的内容被打印了出来。 1. 然后 Python 打印出一个 ^ (井号,caret) 符号,用来指示出错的位置。 注意到少了一个 " (双引号,double-quote) 符号了吗? 1. 最后,它打印出了一个“语法错误(SyntaxError)”告诉你究竟是什么样的错误。通常这些错误信息都非常难懂,不过你可以把错误信息的内容复制到搜索引擎里,然后你就能看到别人也遇到过这样的错误, 而且你也许能找到如何解决这个问题。 Warning 如果你来自另外一个国家,而且你看到关于 ASCII 编码的错误,那就在你的 python 脚本的最上面加入这一行: > # -*- coding: utf-8 -*- 这样你就在脚本中使用了 unicode UTF-8 编码,这些错误就不会出现了。 ### 加分习题 你还会有 加分习题 需要完成。加分习题里边的内容是供你尝试的。如果你觉得做不出来,你可以暂时跳过,过段时间再回来做。 在这个练习中,试试这些东西: 1. 让你的脚本再多打印一行。 1. 让你的脚本只打印一行。 1. 在一行的起始位置放一个 ‘#’ (octothorpe) 符号。它的作用是什么?自己研究一下。 从现在开始,除非特别情况,我将不再解释每个习题的工作原理了。 Note 井号有很多的英文名字,例如:’octothorpe(八角帽)’,’pound(英镑符)’, ‘hash(电话的#键)’, ‘mesh(网)’ 等。