习题 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

时时彩真正稳赚不赔法 时时彩新手qq 时时彩app源码 时时彩平台送体验金 源码时时彩一条龙
重庆时时彩破解软件3.0 江西时时彩开奖结果查 时时彩经验网 时时彩两星缩水 时时彩预测软件破解版
时时彩骗局上鼎狐网 时时彩私彩平台 gt时时彩地址 苹果重庆时时彩软件手机版下载 重庆时时彩组选走势图
新江西时时彩开奖号码 3v时时彩软件 网易时时彩开奖号码 时时彩神圣计划安卓版 时时彩官方网站
海南省人口预测 内蒙古快三今天的预测 德州扑克游戏平台 广西十一选五开奖结果 排列3论坛
江苏十一选五走势图表‘ 快3彩票 360北京pk拾走势图 浙江舟山体彩飞鱼 新疆十一选五预测号码
2008年香港六合彩资料 亿客隆彩票 必盈彩票 云南时时彩开奖走势图 澳门赛马会 -主页
北京快3开奖时间 棋牌游戏开发 湖北快三走势图 北京pk拾赢彩专家贴吧 北京pk10害死多少人