习题 36: 设计和调试?

现在你已经学会了“if 语句”,我将给你一些使用“for 循环”和“while 循环”的规则,一面你日后碰到麻烦。我还会教你一些调试的小技巧,以便你能发现自己程序的问题。最后,你将需要设计一个和上节类似的小游戏,不过内容略有更改。

If 语句的规则?

  1. 每一个“if 语句”必须包含一个 else.
  2. 如果这个 else 永远都不应该被执行到,因为它本身没有任何意义,那你必须在 else 语句后面使用一个叫做 die 的函数,让它打印出错误信息并且死给你看,这和上一节的习题类似,这样你可以找到很多的错误。
  3. “if 语句”的嵌套不要超过 2 层,最好尽量保持只有 1 层。 这意味着如果你在 if 里边又有了一个 if,那你就需要把第二个 if 移到另一个函数里面。
  4. 将“if 语句”当做段落来对待,时时彩计划软件公式:其中的每一个 if, elif, else 组合就跟一个段落的句子组合一样。在这种组合的最前面和最后面留一个空行以作区分。
  5. 你的布尔测试应该很简单,如果它们很复杂的话,你需要将它们的运算事先放到一个 变量里,并且为变量取一个好名字。

如果你遵循上面的规则,你就会写出比大部分程序员都好的代码来。回到上一个练习中,看看我有没有遵循这些规则,如果没有的话,就将其改正过来。

Warning

在日常编程中不要成为这些规则的奴隶。在训练中,你需要通过这些规则的应用来巩固你学到的知识,而在实际编程中这些规则有时其实很蠢。如果你觉得哪个规则很蠢,就别使用它。

循环的规则?

  1. 只有在循环永不停止时使用“while 循环”,这意味着你可能永远都用不到。这条只有 Python 中成立,其他的语言另当别论。
  2. 其他类型的循环都使用“for 循环”,尤其是在循环的对象数量固定或者有限的情况下。

调试(debug)的小技巧?

  1. 不要使用 “debugger”。 Debugger 所作的相当于对病人的全身扫描。你并不会得到某方面的有用信息,而且你会发现它输出的信息态度,而且大部分没有用,或者只会让你更困惑。
  2. 最好的调试程序的方法是使用 print 在各个你想要检查的关键环节将关键变量打印出来,从而检查哪里是否有错。
  3. 让程序一部分一部分地运行起来。不要等一个很长的脚本写完后才去运行它。写一点,运行一点,再修改一点。

家庭作业?

写一个和上节练习类似的游戏。同类的任何题材的游戏都可以,花一个星期让它尽可能有趣一些。作为加分习题,你可以尽量多使用列表、函数、以及模组(记得习题 13 吗?),而且尽量多弄一些新的 Python 代码让你的游戏跑起来。

不过有一点需要注意,你应该把游戏的设计先写出来。在你写代码之前,你应该设计出游戏的地图,创建出玩家会碰到的房间、怪物、以及陷阱等环节。

一旦搞定了地图,你就可以写代码了。如果你发现地图有问题,就调整一下地图,让代码和地图互相符合。

最后一个建议:每一个程序员在开始一个新的大项目时,都会被非理性的恐惧影响到。为了避免这种恐惧,他们会拖延时间,到最后一事无成。我有时会这样,每个人都会有这样的经历,避免这种情况的最好的方法是把自己要做的事情列出来,一次完成一样。

开始做吧。先做一个小一点的版本,扩充它让它变大,把自己要完成的事情一一列出来,然后逐个完成就可以了。

Project Versions

Table Of Contents

Previous topic

习题 35: 分支和函数

Next topic

习题 37: 复习各种符号

This Page

博众时时彩软件 优游时时彩官网是多少 时时彩开店 排列五走势图带连线 江西时时彩五行图
红树林国际平台正规吗 内蒙古时时彩官网下载 网上时时彩平台哪个好 网上重庆时时彩平台 彩精灵时时彩软件准不
时时彩平台排名 时时彩包赔团队 世爵娱乐平台总代 自己开时时彩平台 易航时时彩软件全能王
时时彩专家杀号 重庆时时彩平台招代理 时时彩杀码是什么意思 易彩能提现吗 重庆时时彩刷量
广东26选5开奖结果查询 重庆时时彩计划哪个好 云南十一选五任三技巧 湖南体彩爱彩幸运赛车 江苏十一选五开奖直播
乐盈彩票 北京快乐8 湖北11选5遗漏走势 炸金花下载电脑版 北京赛车pk稳赢公式
安徽快3怎么玩◆安徽快3三同号遗漏◆安徽快3开奖直播视频◆安徽快3基本走势图分析 3d开奖结果 雪缘足球比分 天津十一选五开奖查询 江西11选5专家杀号
广西快乐10分直播 德州扑克在线 浙江快乐12开奖结果查询 天津时时彩预测软件 天津十一选五规则