《“笨办法”学Python(第3版)》——习题1 第一个程序-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

《“笨办法”学Python(第3版)》——习题1 第一个程序

简介:

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

习题1 第一个程序

你应该在习题0上花了不少的时间,学会了如何安装文本编辑器,运行文本编辑器,以及如何运行终端。如果你还没有完成这些练习,请不要继续往下进行了,否则你不会觉得很好过的。写在习题开头警告你不要跳过前面内容的警示本书中仅此一次,切记切记。

将下面的内容写到一个文件中,取名为ex1.py。这种命名方式很重要,Python文件最好以.py结尾。

ex1.py

    print "Hello World!"
    print "Hello Again"
    print "I like typing this."
    print "This is fun."
    print 'Yay! Printing.'
    print "I'd much rather you 'not'."
    print 'I "said" do not touch this.'

如果你使用的是Mac OSX下的TextWrangler,那你的文本编辑器大致是图1-1所示的这个样子。


screenshot

如果你是在Windows下使用Notepad++,那你看到的应该是图1-2所示的这个样子。


screenshot

别担心编辑器长得是不是一样,关键是以下几点。

1.注意我没有键入左边的行号。这些是额外加到书里边的,以便对代码具体的某一行进行讨论。例如“参见第5行……”你无需将这些也写进Python脚本中去。

2.注意截图中开始的print语句,它和代码范例中是完全一样的。这里要求你做到“完全相同”,仅做到“差不多相同”是不够的。要让这段脚本正常工作,代码中的每个字符都必须完全匹配。当然,你的编辑器显示的颜色可能不一样,这并不重要,只有你键入的字符才是重要的。

然后需要在终端通过输入以下内容来运行这段代码:

python ex1.py

如果你写对了,你应该看到和下面一样的内容。如果不一样,就是你哪儿弄错了。不是计算机出错了,计算机不会错。

应该看到的结果

在Mac OSX的终端下面应该看到图1-3所示的这个样子。


screenshot

在Windows的PowerShell下应该看到图1-4所示的这个样子。


screenshot

你也许会看到python ex1.py前面显示的用户名、计算机名及其他一些信息不一样,这不是问题,重要的是你键入了命令,而且看到了相同的输出。

如果有错误,你会看到与下面类似的错误信息:

$ python ex/ex1.py 
 File "ex/ex1.py", line 3
  print "I like typing this.
               ^
SyntaxError: EOL while scanning string literal

你应该学会看懂这些内容,这是很重要的一点,因为你以后还会犯类似的错误。就是现在的我也会犯这样的错误。让我们一行一行来看。

1.首先我们在终端输入命令来运行ex1.py脚本。

2.Python告诉我们ex1.py文件的第3行有一个错误。

3.然后这一行的内容被显示出来。

4.然后Python显示一个插入符(^)符号,用来指示出错的位置。注意到少了一个双引号(")了吗?

5.最后,它显示一个“语法错误”(SyntaxError),告诉你究竟是什么样的错误。通常这些错误信息都非常难懂,不过你可以把错误信息的内容复制到搜索引擎里,然后你就能看到别人也遇到过这样的错误,而且你也许能找到如何解决这个问题。

注意

如果你来自另外一个国家,而且你看到关于ASCII编码的错误,那就在你的Python脚本的最上面加入下面这一行:

# -*- coding: utf-8 -*-

这样你就在脚本中使用了Unicode UTF-8编码,这些错误就不会出现了。

附加练习

每个习题都有附加练习要完成。附加练习里边的内容是供你尝试的。如果你觉得做不出来,可以暂时跳过,过段时间再回来做。

在这个习题中,试试下面几件事儿。

1.让你的脚本再多打印一行。

2.让你的脚本只打印一行。

3.在一行的起始位置放一个“#”字符。它的作用是什么?自己研究一下。

从现在开始,除非特别情况,我将不再解释每个习题的工作原理了。

注意

#(octothorpe)有很多的英文名字,如pound(英镑符)、hash(电话的#键)、mesh(网)等。选一个你觉得酷的用就行了。

常见问题回答

这些是本书在线的时候收到的真实的学生问题,其中的一些问题你也有可能会遇到,所以我就把这些问题以及它们的答案都搜集在这里了。
我可不可以使用IDLE?

不行。你应该使用OSX的终端或者Windows的PowerShell,和我这里演示的一样。如果你不知道如何用它们,可以去阅读附录的“命令行快速入门”。
怎样让编辑器显示不同颜色?

编辑之前先将文件保存为.py格式,如ex1.py,后面编辑时你就可以看到各种颜色了。
运行ex1.py时看到SyntaxError: invalid syntax。

你也许已经运行了Python,然后又在Python环境下运行了一遍Python。关掉并重启终端,重来一遍,只键入python ex1.py就可以了。
遇到错误信息can’t open file 'ex1.py': [Errno 2] No such file or directory。

你需要在自己创建文件的目录下运行命令。确保你事先使用cd命令进入了这层目录下。假如你的文件存在lpthw/ex1.py下面,那你需要先执行cd lpthw/再运行python ex1.py,如果你不明白该命令的意思,那就去看看第一个问题中提到的“命令行快速入门”吧。
怎样在代码中输入我们国家的语言文字?

确认在文件开头加入了这行:# -*- coding: utf-8 -*-
我的文件无法运行,它直接回到了提示符,没有任何输出。

很有可能是你把代码做了字面理解,认为print "Hello World!"就是让你在文件中打印"Hello World!",于是你没有输入print。你的代码应该和我的一模一样。我的每行里边都有print,你的也要确保都有,这样代码才能正常运行。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章